if
我对,while
和语句中条件的期望值很好奇until
,因为我显然无法让我的条件正常工作。
他们是否期望true
和false
或退出代码,即0
或{1-255}
?
答案1
条件测试退出代码。零为真,非零为假。该true
命令是正确的,因为它返回零 ( 0
) 退出代码。类似地,false
返回一个非零退出代码(碰巧,它是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"