| HOME / 정보공유 / AIX 명령어 모음

test
test test 명령 목적 조건식을 평가합니다. 구문
test Expression
또는
[ Expression ]
설명
test 명령은 Expression 매개변수를 평가하며, 표현 값이 참인 경우 0을 리턴합니다. 그렇지 않으면 0이 아닌(거짓) 종료 값을 리턴합니다. test 명령은 매개변수가 없는 경우 0이 아닌 종료 값을 리턴합니다.
주:
명령의 두 번째 양식에서 [ ](대괄호)안에 공백이 있어야 합니다.
C 쉘에서의 파일 이름을 명백하게 테스트해야 합니다. 파일 이름 대체(globbing)로 쉘 스크립트가 종료됩니다.
함수 및 연산자는 test 명령에 의해서 별개의 매개변수로서 처리됩니다. Expression 매개변수는 참 또는 거짓 조건으로 확인된 문을 참조합니다. 다음 함수는 이 매개변수를 구성하는 데 사용됩니다.
-b FileName 지정된 FileName이 존재하고 그것이 블록 특수 파일일 경우, 참 종료값을 리턴합니다.
-c FileName 지정된 FileName이 존재하고 그것이 문자 특수 파일일 경우, 참 종료값을 리턴합니다.
-d FileName 지정된 FileName이 존재하고 그것이 디렉토리일 경우, 참 종료값을 리턴합니다.
-e FileName 지정된 FileName이 존재할 경우, 참 종료값을 리턴합니다.
-f FileName 지정된 FileName이 존재하고 그것이 정규 파일일 경우, 참 종료값을 리턴합니다.
-g FileName 지정된 FileName이 존재하고 그것의 Set Group ID가 설정되어 있을 경우, 참 종료값을 리턴합니다.
-h FileName 지정된 FileName이 존재하고 그것이 심볼 링크일 경우, 참 종료값을 리턴합니다.
-k FileName 지정된 FileName이 존재하고 그것의 스티키(skicky) 비트가 설정되어 있을 경우, 참 종료값을 리턴합니다.
-L FileName 지정된 FileName이 존재하고 그것이 심볼 링크일 경우, 참 종료값을 리턴합니다.
-n String1 String1 변수의 길이가 제로가 아닐 경우, 참 종료값을 리턴합니다.
-p FileName 지정된 FileName이 존재하고 그것이 이름 지정된 파이프(선입선출법)일 경우, 참 종료값을 리턴합니다.
-r FileName 지정된 FileName이 존재하고 현재 프로세스 처리 공정이 그것을 읽을 수 있을 경우, 참 종료값을 리턴합니다.
-s FileName 지정된 FileName이 존재하고 크기가 0보다 클 경우, 참 종료값을 리턴합니다.
-t FileDescriptor FileDescriptor의 파일 설명자 번호가 있는 파일이 열리고 터미널과 관련이 있을 경우, 참 종료값을 리턴합니다.
-u FileName 지정된 FileName이 존재하고 그것의 Set User ID가 설정되어 있을 경우, 참 종료값을 리턴합니다.
-w FileName 지정된 FileName이 존재하고 쓰기 플래그가 켜져 있을 경우, 참 종료값을 리턴합니다. 그러나, test가 참을 나타낸다 하더라도 읽기 전용 파일 시스템에서 FileName을 쓸 수는 없습니다.
-x FileName 지정된 FileName이 존재하고 실행 플래그가 켜져 있을 경우, 참 종료값을 리턴합니다. 지정된 파일이 있고 디렉토리인 경우, 종료 값 참은 현재의 프로세스가 이 디렉토리를 탐색할 권한이 있음을 의미합니다.
-z String1 String1 변수의 길이가 0(제로)일 경우, 참 종료값을 리턴합니다.
String1=String2 String1과 String2 변수가 동일한 경우 종료 값 참을 리턴합니다.
String1!=String2 String1과 String2 변수가 동일하지 않은 경우 종료 값 참을 리턴합니다.
String1 String1 변수가 널 문자열이 아닌 경우 종료 값 참을 리턴합니다.
Integer1 -eq Integer2 Integer1과 Integer2 변수가 대수적으로 같을 경우 종료 값 참을 리턴합니다. -ne, -gt, -ge, -lt 및 -le를 비교 값 -eq 대신 사용될 수 있습니다.
file1 -nt file2 file1이 file2보다 새 것일 경우, 참입니다.
file1 -ot file2 file1이 file2보다 오래되었을 경우, 참입니다.
file1 -ef file2 file1이 file2의 또다른 이름일 경우, 참입니다.
이 기능은 다음 연산자와 같이 사용될 수 있습니다.
! 단항 부정(negation) 연산자
-a 2진 AND 연산자
-o 2진 OR 연산자(즉, -a 연산자의 우선순위는 -o 연산자보다 큽니다.)
\(Expression\) 그룹화를 위한 괄호법
종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 Expression 매개변수는 참입니다.
1 Expression 매개변수는 거짓이거나 누락되었습니다.
>1 오류가 발생하였습니다.
예제
파일이 존재하는지와 비어있지 않은지를 테스트하려면, 다음을 입력하십시오.
if test ! -s "$1"
then
echo $1 does not exist or is empty.
fi
쉘 프로시저에 대한 첫번째 위치 매개변수가 지정한 파일 $1이 없는 경우, test 명령은 오류 메세지를 표시합니다. $1이 존재하고 크기가 0보다 클 경우, test 명령은 아무것도 표시하지 않습니다.
주: -s 기능과 파일 이름 사이에 반드시 공백이 있어야 합니다.
$1 양쪽의 따옴표는 $1가 널 문자열인 경우에도 테스트가 제대로 작동하도록 해줍니다. 인용 부호가 생략되고 $1이 공백 문자열일 경우, test 명령은 test: argument expected.라는 오류 메세지를 표시합니다.
구체적으로 비교하려면, 다음을 입력하십시오.
if [ $# -lt 2 -o ! -e "$1" ]
then
exit
fi
쉘 프로시저의 위치 매개변수가 두 개보다 작게 주어지거나 $1이 지정한 파일이 없는 경우에는 쉘 프로시저가 종료합니다. 특별 쉘 변수 $#는 이 쉘 프로시저를 시작하는 명령행에서 입력된 위치 매개변수의 번호를 나타냅니다.
AIX 5L 버전 5.1 시스템 사용자 안내서: 운영 시스템 및 장치의 쉘 개요에서는 일반적으로 쉘을 설명하고, 쉘 이해에 도움이 되는 용어를 정의하며, 보다 유용한 쉘 기능을 설명합니다.
파일
/usr/bin/test test 명령을 포함하고 있습니다.
관련 정보
bsh 명령, csh 명령, find 명령, ksh 명령, sh 명령.