He visto mucho este constructo en los scripts y lo usé yo mismo, pero me molesta que parezca que no puedo encontrarlo en la documentación.
Ejemplo:
[ -f file1 ] &&
[ -f file2 ] &&
echo "Both files exist." ||
echo "One or the other file doesn't exist."
Esto también se podría hacer con barras invertidas antes de las nuevas líneas, como se menciona en 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).
Ejemplo:
[ -f file1 ] && \
[ -f file2 ] && \
echo "Both files exist." || \
echo "One or the other file doesn't exist."
... pero esto no parece ser necesario. La primera versión anterior funciona incluso sin las barras invertidas.
¿Dónde puedo encontrar esto man bash
? (Además, ¿es esto bash
específico o compatible con POSIX?)
;
,&
,(
y)
.