진실성 또는 허위성을 알리기 위해 if, while 및 Until에 어떤 종류의 (다른) 반환 값이 필요합니까?

진실성 또는 허위성을 알리기 위해 if, while 및 Until에 어떤 종류의 (다른) 반환 값이 필요합니까?

조건문이 제대로 작동하지 않는 것 같기 때문에 및 if명령문 에서 조건문의 예상 값이 궁금합니다 .whileuntil

true그들은 및 false/또는 종료 코드를 기대합니까 ? 즉, 0또는 {1-255}?

답변1

종료 코드에 대한 조건 테스트입니다. 0은 참이고, 0이 아닌 것은 거짓입니다. 이 명령은 0( ) 종료 코드를 true반환하므로 true입니다 . 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"

관련 정보