Я часто видел эту конструкцию в сценариях и использовал ее сам, но меня беспокоит, что я не могу найти ее в документации.
Пример:
[ -f file1 ] &&
[ -f file2 ] &&
echo "Both files exist." ||
echo "One or the other file doesn't exist."
Это также можно сделать с помощью обратной косой черты перед символами новой строки, как указано в 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).
Пример:
[ -f file1 ] && \
[ -f file2 ] && \
echo "Both files exist." || \
echo "One or the other file doesn't exist."
... но это не кажется необходимым. Первая версия выше работает даже без обратной косой черты.
Где я могу найти это в man bash
? (Кроме того, это bash
определенное или POSIX-совместимое?)
names=( Rama Soma<newline> Sita Diya )
. Python четко описывает их здесь, но документация по Bash, похоже, этого не делает.
;
,&
,(
и)
.