【发布时间】:2010-10-23 17:05:27
【问题描述】:
我有一个调用许多命令的 Bash shell 脚本。
如果任何命令返回非零值,我希望 shell 脚本自动退出并返回值 1。
如果不明确检查每个命令的结果,这是否可能?
例如,
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
【问题讨论】:
-
除了
set -e,还要做set -u(或set -eu)。-u结束了愚蠢的、隐藏错误的行为,您可以访问任何不存在的变量并在没有诊断的情况下生成一个空白值。