我正在尝试向脚本中的错误添加有意义的错误消息,然后在第一个出口退出。
我尝试了<*errornous_command_returning_non_zero_value*> || (err=$? && echo $LINENO && exit $err)
由于某种原因,我不明白,该行被回显,但是退出未执行,脚本继续执行
答案 0 :(得分:4)
您只能退出子外壳( )
,而不是实际的外壳。
您可以使用{ }
代替子外壳( )
对命令进行分组。示例:
false || { err=$?; echo msg; exit $err; }