false || { echo 1 && echo 2; }
O Bash avalia os operadores lógicos de forma que & & sempre tem precedência. Então, por exemplo:
false || echo 1 && echo 2
1
2
e
true || echo 1 && echo 2
2
Ok. Então vamos dizer que eu quero que a saída seja assim:
false || (echo 1 && echo 2)
Mas sem invocar um subnível.
A única solução que consegui pensar é esta:
false || if true; then echo 1; echo 2; fi
1
2
Existe alguma maneira mais limpa, semelhante a parênteses em C, para agrupar comandos sem ter que invocar uma subcamada?
Tags bash sh shell-script