답변:
종료 코드에서 0 또는 1을 얻습니다.
bash-4.2$ test 4 -lt 6
bash-4.2$ echo $?
0
bash-4.2$ test 4 -gt 6
bash-4.2$ echo $?
1
업데이트 : 나중에 사용하기 위해 종료 코드를 저장하려면 변수에 할당하십시오.
bash-4.2$ test 4 -lt 6
bash-4.2$ first=$?
bash-4.2$ test 4 -gt 6
bash-4.2$ second=$?
bash-4.2$ echo "first test gave $first and the second $second"
first test gave 0 and the second 1
$?
변수에 배치됩니다 ( 적어도 다음에 실행하는 명령으로 덮어 쓸 때까지).
$PIPESTATUS
파이프 라인에서 여러 명령의 결과를 얻을 수 있습니다 . $?
으로의 결과 일 것이다 마지막 경우 파이프 라인의 명령 옵션을 해제 (기본값)입니다. pipefail
if test 4 -lt 6; then echo test succeeeded; else echo test failed; fi
종료 코드 대신 표준 출력에 대한 비교 결과를 원하는 경우 다음 expr(1)
명령을 사용할 수 있습니다 .
$ expr 4 '<=' 6
1
두 가지주의 사항 :
test
. test
true (종료 코드의 표준)에 대해서는 0을 반환하지만 expr
true에 대해서는 1을 인쇄합니다.test
상당히 빠르게 이상 (약 50 내 컴퓨터에서 회)이다 쉘 내장, test
그리고 expr
로부터 실행 파일 로 coreutils 패키지.