Ich habe dieses Konstrukt häufig in Skripten gesehen und selbst verwendet, aber es stört mich, dass ich es nicht in der Dokumentation zu finden scheint.
Beispiel:
[ -f file1 ] &&
[ -f file2 ] &&
echo "Both files exist." ||
echo "One or the other file doesn't exist."
Dies könnte auch mit Backslashes vor den Zeilenumbrüchen geschehen, wie in 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).
Beispiel:
[ -f file1 ] && \
[ -f file2 ] && \
echo "Both files exist." || \
echo "One or the other file doesn't exist."
... aber das scheint nicht nötig zu sein. Die erste Version oben funktioniert auch ohne die Backslashes.
Wo finde ich das man bash
? (Ist dies auch bash
spezifisch oder POSIX-konform?)
;
,&
,(
und)
.