【发布时间】:2020-01-30 21:37:52
【问题描述】:
我有两个 shell 脚本:
test.sh
function func() {
echo $1
exit 1
}
运行.sh
source ./test.sh
func "Hello"
exitCode=$?
echo "Output: ${exitCode}"
结果:
Hello
我目前面临的问题是,当函数 func 返回 1 时,我的 run.sh 脚本会中断,之后不会执行任何操作。那么,有什么方法可以在不破坏 run.sh 的情况下有效地捕获退出代码。由于我无法修改 test.sh 脚本,我必须在我的 run.sh 中找到一种方法。我尝试使用flock 执行脚本,但无法正常工作。
【问题讨论】:
-
如果您可以控制该代码,您应该在函数中使用
return而不是exit。 -
我没有更改该脚本的权限,因此我正在寻找在我的脚本中执行此操作的选项。
-
哦,您实际上在问题文本中这么说。我的错。