我在我的 Bash 函数中使用“exit 1”语句来终止整个脚本,它运行良好:
function func()
{
echo "Goodbye"
exit 1
}
echo "Function call will abort"
func
echo "This will never be printed"
但后来我意识到它在调用时不起作用:
res=$(func)
我知道我创建了一个子外壳,并且“退出 1”中止了该子外壳,而不是主外壳....
但是有没有办法编写一个中止整个执行的函数,不管它是如何被调用的?我只需要获取真正的返回值(由函数回显)。