Bash 出现错误时退出+;echo不能一起工作

Bash 出现错误时退出+;echo不能一起工作,bash,Bash,我试图在脚本中的错误中添加一条有意义的错误消息,并在第一次退出时退出 我尝试了| |(err=$?&&echo$LINENO&&exit$err) 出于某种原因,我不明白,该行被回响,但退出没有执行,脚本继续执行您只退出子shell(),而不退出实际的shell 您可以使用{}而不是子shell()对命令进行分组。例如: false || { err=$?; echo msg; exit $err; } 只退出子shell(),而不退出实际的shell 您可以使用{}而不是子shell()对命

我试图在脚本中的错误中添加一条有意义的错误消息,并在第一次退出时退出

我尝试了
| |(err=$?&&echo$LINENO&&exit$err)


出于某种原因,我不明白,该行被回响,但退出没有执行,脚本继续执行

您只退出子shell
()
,而不退出实际的shell

您可以使用
{}
而不是子shell
()
对命令进行分组。例如:

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

只退出子shell
()
,而不退出实际的shell

您可以使用
{}
而不是子shell
()
对命令进行分组。例如:

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

其他改进:不要使用
&&
,因为您并不希望在前一个命令成功后有条件地执行这些命令。只要使用
@ClsForCookies No.Bash需要它。没有最后的
结束的
}
将被解释为一个参数。额外的改进:不要使用
&&
,因为您并不希望在前一个命令成功后有条件地执行这些命令。只要使用
@ClsForCookies No.Bash需要它。没有最后的
结束符
}
将被解释为参数。