这里显示在一行中使用||和&&来连接命令的执行:如何检查 bash 脚本中的 apt-get 错误?
如果某个条件失败,我试图停止脚本执行,
例如
false || echo "Obvious error because its false on left" && exit
Run Code Online (Sandbox Code Playgroud)
在这里它打印Obvious error because its false on the left并退出我想要的控制台。
true || echo "This shouldn't print" && exit
Run Code Online (Sandbox Code Playgroud)
在这里,没有回显打印但exit命令也运行,即控制台关闭,该exit命令不应该运行,因为右侧的回显命令没有执行吗?或者默认情况下,&&运算符左侧的语句被认为是错误的?
编辑:我之前应该提到它,我的目的是回应错误并在不清楚时退出。对于我在使用 && 和 || 对条件进行分组时捕获错误的具体情况,@bodhi.zazen 答案解决了这个问题。
@takatakatek 的回答使流程控制更加清晰,bash 指南链接非常好
@muru answer 很好地解释了为什么不使用 set -e 如果您希望使用 perl 和 trap 的替代方法抛出自定义错误消息,我认为这是一种更健壮的方法,并且可以从我的第二个 bash 脚本开始使用它!