我有一个Bash shell脚本,可以调用许多命令.
如果任何命令返回非零值,我希望shell脚本自动退出,返回值为1.
在没有明确判断每个命令的结果的情况下,这是可能的吗?
例如
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
我有一个Bash shell脚本,可以调用许多命令.
如果任何命令返回非零值,我希望shell脚本自动退出,返回值为1.
在没有明确判断每个命令的结果的情况下,这是可能的吗?
例如
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
将以下内容添加到脚本开头:
set -e
如果简单命令以非零的退出值退出,这将导致shell立即退出.简单命令是任何不属于if、while或until测试的命令,或&&;或者| |列表.
有关更多详细信息,请参阅"set"内部命令上的bash(1) man page.
我个人几乎所有的shell脚本都以"set-e"开头.当一个脚本在中间出现故障并且中断脚本其余部分的假设时,脚本很难继续下go .