Списки
Список - это последовательность одного или более конвейеров, разделенных одним из операторов ;, &, && или , и не обязательно завершающаяся одним из операторов ;, & или <перевод строки>.
Из этих операторов списка && и имеют равный приоритет, причем больший, чем ; и &, тоже имеющие равный приоритет.
Если команда завершается управляющим оператором &, интерпретатор выполняет команду в фоновом режиме в порожденном интерпретаторе. Командный интерпретатор не ждет завершения команды, а статус выхода в этом случае - 0. Команды, разделенные ; выполняются последовательно; командный интерпретатор ждет поочередно завершения каждой из команд. Статус возврата списка в этом случае совпадает со статусом возврата последней выполненной команды.
Управляющие операторы && и обозначают, соответственно, И-списки и ИЛИ-списки. И-список имеет вид
команда && команда2
Команда2 выполняется только и если только команда вернула статус выхода ноль.
ИЛИ-список имеет вид
команда команда2
Команда2 выполняется только и если только команда вернула ненулевой статус выхода. И- и ИЛИ-списки возвращают статус последней команды, выполненной в списке.