错误退出+回声不能同时使用

时间:2018-12-04 14:21:03

标签: bash

我正在尝试向脚本中的错误添加有意义的错误消息,然后在第一个出口退出。

我尝试了<*errornous_command_returning_non_zero_value*> || (err=$? && echo $LINENO && exit $err)

由于某种原因,我不明白,该行被回显,但是退出未执行,脚本继续执行

1 个答案:

答案 0 :(得分:4)

您只能退出子外壳( ),而不是实际的外壳。

您可以使用{ }代替子外壳( )对命令进行分组。示例:

false || { err=$?; echo msg; exit $err; }