小编Mos*_*ieb的帖子

在 bash 脚本中,如何检查是否设置了“-e”?

set -e经常在脚本中使用,但有时,脚本在某些命令中失败是可以的。
我尝试检查是否set -e打开,但找不到方法 - 没有选项(我知道)set可以提供当前值。
也尝试过这样的: set | grep errexiterrexit是选项名称-e)和set | grep "-e",没有运气。
我想检查是否errexit设置了该选项,以便我可以在我随着时间的推移构建的一些库函数中暂时禁用它(如果需要,可以使用set +e和重新应用set -e)。就像是:

if [ errexit is set ]; then
   ERR_EXIT=1
   set +e
fi
...
run some code that may fail
...
if [ "${ERR_EXIT}" = 1 ]; then
    set -e
fi
Run Code Online (Sandbox Code Playgroud)

bash exit-code

5
推荐指数
1
解决办法
407
查看次数

标签 统计

bash ×1

exit-code ×1