在没有子 shell 的情况下使用多个命令在 bash 中评估 false

在没有子 shell 的情况下使用多个命令在 bash 中评估 false

Bash 评估逻辑运算符时,&& 始终优先。例如:

false || echo 1 && echo 2
1
2

true || echo 1 && echo 2
2

好的。假设我希望输出如下:

false || (echo 1 && echo 2)

但没有调用子shell。

我能想到的唯一解决办法是:

false || if true; then echo 1; echo 2; fi
1
2

是否有任何更简洁的方法,类似于 C 中的括号,将命令组合在一起而不必调用子 shell?

答案1

false || { echo 1 && echo 2; }

相关内容