true 또는 false를 나타내기 위해 if, while 및 Until에 필요한 (다른) 반환 값은 무엇입니까?

true 또는 false를 나타내기 위해 if, while 및 Until에 필요한 (다른) 반환 값은 무엇입니까?

if내 조건을 제대로 작동시킬 수 없는 것 같아서 , while및 문의 조건의 예상 값이 궁금합니다 .until

trueAND false또는 종료 코드(예: 0또는 ) 를 기대합니까 {1-255}?

답변1

조건부 테스트 종료 코드. 0은 참이고, 0이 아닌 것은 거짓입니다. 이 true명령은 0( 0) 종료 코드를 반환하므로 정확합니다. 마찬가지로 false0이 아닌 종료 코드를 반환합니다(공교롭게도 1).

if true; then echo 'happy days'; fi
if false; then echo 'maths has just died a horrible death'; fi

true; echo "exit status is $?"     # "0"
false; echo "exit status is $?"    # "1"

[ 0 -eq 0 ]; echo "exit status is $?"    # "0"
[ 0 -eq 1 ]; echo "exit status is $?"    # "1"

관련 정보