gpt4 book ai didi

Bash:停止源脚本中的错误

转载 作者:行者123 更新时间:2023-11-29 08:52:51 25 4
gpt4 key购买 nike

在要执行的 shell 脚本中,我可以使用 set -e 中止错误。

但是,在源脚本中,如果后面的命令以错误状态退出,则使用 set -e 将终止原始 shell。

source set_e.sh
./exit_1.sh
# shell dies

一个简单的解决方案是在脚本末尾设置 set +e,但是如果使用的话这会破坏父级的 set -e(这很可能会发生如果将来有人包装我的脚本)。

如何在源脚本中获得错误中止功能?

最佳答案

这是不可能的。但是,如果需要,您可以选择使用子 shell:

(
set -e
source another.sh
)

只有调用脚本的环境永远不会被调用脚本改变。

注意:用换行符分隔两个命令并且不使用分号可能很重要。

关于Bash:停止源脚本中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24460504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com