如何撤消“set -e”的效果,如果任何命令失败,立即退出
在交互式bash shell中inputset -e
后,如果任何命令以非零值退出,bash将立即退出。 我怎样才能撤销这个效果?
用set +e
。 是的,它是向后的,你启用shell选项set -
并禁用 set +
。 历史的葡萄干,donchanow。
每次想要覆盖它时,使用set +e
/ set -e
可能是不方便的。 我find一个更简单的解决scheme。
而不是这样做:
set +e command_that_might_fail_but_we_want_to_ignore_it set -e
你可以这样做:
command_that_might_fail_but_we_want_to_ignore_it || true
或者,如果你想保存击键,并不介意有点神秘:
command_that_might_fail_but_we_want_to_ignore_it || :
希望这可以帮助!
- 使用+而不是 – 使这些标志被closures。
资源