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-出现错误?