gpt4 book ai didi

bash - 在不退出 shell 的情况下使用 set -e 运行 bash 函数

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

考虑以下函数

function current_dir {
set -e
git foobar
echo "I will not print this, because git foobar returned a non-zero exit code"
}

现在,当我获取该函数并尝试在我的 shell 中调用它时,它不仅会退出该函数,还会退出 shell 本身。

如何避免这种情况?

最佳答案

如果您不需要函数在当前 shell 中执行(例如,它没有设置任何需要对调用者可见的参数值),您可以将函数体设为子 shell,而不是命令组:

current_dir () (
set -e
git foobar
echo "I will not print this, because git foobar returned a non-zero exit code"
)

关于bash - 在不退出 shell 的情况下使用 set -e 运行 bash 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23806560/

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