Answers:
&&
是一个逻辑“与”。仅当第一个参数返回true时,才会评估第一个参数,而第二个则被评估。原因是“ false AND something”始终为false,因此在这种情况下无需评估第二个参数。
因此&&
,如果第一个命令报告错误(true
使用退出代码0
表示,表示没有错误),请确保您不使用第二个命令。相反,;
无论第一个命令的结果如何,都执行这两个命令。
结论:与链接命令&&
是一个好习惯。相反,;
如果出现问题,它将不执行后续命令。
0
意味着true
。我添加了一个说明。
无论先前的退出状态是什么,都将顺序执行命令:
# sh -c "exit 0" ; echo "2nd command"
2nd command
# sh -c "exit 1" ; echo "2nd command"
2nd command
逻辑与
执行下一条命令,但前提是上一条命令成功执行(退出状态为0
):
# sh -c "exit 0" && echo "2nd command"
2nd command
# sh -c "exit 1" && echo "2nd command"
#
逻辑或
仅在上一条命令失败(退出状态不是 0
)时执行下一条命令:
# sh -c "exit 0" || echo "2nd command"
#
# sh -c "exit 1" || echo "2nd command"
2nd command
sh -c "exit 0"
可以true
在这些示例sh -c "exit 1"
中用和替换false
。
0
是对true
还是对0
-出现错误?