Eu já vi esse construto em scripts e o usei muito, mas me incomoda que eu não consiga encontrá-lo na documentação.
Exemplo:
[ -f file1 ] &&
[ -f file2 ] &&
echo "Both files exist." ||
echo "One or the other file doesn't exist."
Isso também pode ser feito com barras invertidas antes das novas linhas, conforme mencionado em man bash
:
If a \<newline> pair appears, and the backslash is not
itself quoted, the \<newline> is treated as a line continuation (that
is, it is removed from the input stream and effectively ignored).
Exemplo:
[ -f file1 ] && \
[ -f file2 ] && \
echo "Both files exist." || \
echo "One or the other file doesn't exist."
... mas isso não parece ser necessário. A primeira versão acima funciona mesmo sem as barras invertidas.
Onde posso encontrar isso man bash
? (Além disso, isso é bash
específico ou compatível com POSIX?)
;
,&
,(
e)
.