如果cd
此脚本中的命令失败,则可能是一场灾难:
cd $HOME/el-directorio
rm -rf algo
您可以使用 if 进行检查,但是当脚本有几十个命令时,每次都必须进行检查,代价高昂且容易出错。
如何使 bash 脚本在任何错误时停止?
如果cd
此脚本中的命令失败,则可能是一场灾难:
cd $HOME/el-directorio
rm -rf algo
您可以使用 if 进行检查,但是当脚本有几十个命令时,每次都必须进行检查,代价高昂且容易出错。
如何使 bash 脚本在任何错误时停止?
如果任何命令返回非零退出代码,这将导致脚本停止。
有一些例外:
要将 bash 恢复为正常行为:
set -e
也可以在调用 bash 时使用参数激活:使用exit命令可以随时终止 shell 脚本。例如,在您的代码中包含以下内容:
exit 1
1 表示一般错误。还有其他更具体的错误指示器:
对于您的具体示例,我将首先检查目录是否存在: