if、while 和 Until 需要什么样的(不同的)返回值来表示真实性或虚假性?

if、while 和 Until 需要什么样的(不同的)返回值来表示真实性或虚假性?

if我对,while和语句中条件的期望值很好奇until,因为我显然无法让我的条件正常工作。

他们是否期望truefalse或退出代码,即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"

相关内容