我想知道在子命令中发生错误时如何最好地退出脚本 - 特别是在分配中(即,MYVAR="$(...)"
形式)。
我的问题的最小例子是以下bash脚本。
#!/bin/bash
set -e
fail() {
echo "Some error" >&2
exit 1
}
main() {
local my_val="$(fail)"
echo 'Success!'
}
main
这将输出以下内容:
Some error
Success!
我想弄清楚的是如何最好地检测和处理发生的故障,以便永远不会达到成功阶段。