我有一个非常简单的脚本。
test.sh
_EXECUTE_METHOD () {
exit 1
}
_EXECUTE_METHOD
ERROR_CODE=$?
if [[ $ERROR_CODE -eq 1 ]]; then
echo "Got error"
exit 0
fi
当在函数内部执行exit 1
时,此脚本会立即终止。我想从函数中捕获此退出状态并在主脚本中处理它。
我尝试了set -e
和set +e
,但仍然没有成功。我不能使用return
语句。
实际输出:
$ sh test.sh
$ echo $?
1
$
实际输出:
$ sh test.sh
Got error
$ echo $?
0
$
return
语句。" - 是的,你可以尝试一下。 - melpomenethen
。另外,[[
只是可移植性的陷阱;应该使用[
。 - Jens[
也是可能的。示例 - Jimmix