假设shell脚本(/ bin / sh或/ bin / bash)包含几个命令。如果任何命令具有失败的退出状态,我如何干净地使脚本终止?显然,可以使用如果块和/或回调,但有一个更清洁,更简洁的方法吗?使用&&实际上也不是一个选择,因为命令可以很长,或者脚本可以有非平凡的东西,如循环和条件。
使用标准的sh和bash,你可以
set -e
它会
$ help set ... -e Exit immediately if a command exits with a non-zero status.
它也工作(从我可以收集)与zsh。它也应该适用于任何Bourne shell的后代。
使用csh / tcsh,您必须使用#!/ bin / csh -e启动脚本