Evaluación de falso en bash con múltiples comandos sin subshell

Evaluación de falso en bash con múltiples comandos sin subshell

Bash evalúa los operadores lógicos de modo que && siempre tenga prioridad. Así por ejemplo:

false || echo 1 && echo 2
1
2

y

true || echo 1 && echo 2
2

De acuerdo. Entonces digamos que quiero que la salida sea así:

false || (echo 1 && echo 2)

Pero sin invocar una subcapa.

La única solución que se me ocurre es esta:

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

¿Existe alguna forma más clara, similar al paréntesis en C, de agrupar comandos sin tener que invocar un subshell?

Respuesta1

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

información relacionada