首先,我不是Bash专家。几个月前我发现,如果将&&
和||
短路运算符与花括号连用,那么如果第一个语句返回真值,并且true块中的最后一条语句返回非零值,则失败块也会被执行。就像这样:
returnNumber 0 && {
echo 'OK'
returnNumber 1
} || {
echo 'NG'
}
将输出:
OK
NG
所以,我寻找了最简单的解决方案,并想出了以下方法:
returnNumber 0 && {
echo 'OK'
returnNumber 1
:
} || {
echo 'NG'
}
我知道,省略冒号内置函数很容易,但这是一个合适的解决方法吗?
if-then-else-fi
时,大多数人都能理解。 尝试考虑有效的例外情况。我仍然不确定我的回答 http://stackoverflow.com/a/28478184/3220113 :它是有效的,但很难阅读。 - Walter A