Найти в Дзене
Linux User

Списки команд

Список - это последовательность одного или нескольких конвейров, разделенных одним из операторов ';', '&', '&&' или '||', и по выбору завершаемых одним из ';', '&' или новой строкой. Из этих операторов списка '&&' и '||' имеют равный приоритет, за ними следуют ';' и '&', которые имеют равный приоритет. Для разделения команд в списке может использоваться последовательность из одной или нескольких новых строк, что эквивалентно точке с запятой. Если команда завершается управляющим оператором '&', shell выполняет команду асинхронно во вложенной оболочке. Это называется выполнением команды в фоновом режиме, и такие команды называются асинхронными. Оболочка не ждет завершения команды, и статус возврата равен 0 (true). Когда контроль заданий не активен, стандартный ввод для асинхронных команд, при отсутствии явного перенаправления, перенаправляется из /dev/null. Команды, разделенные символом ';', выполняются последовательно, shell ожидает завершения каждой команды по очереди. Статус возврата

Список - это последовательность одного или нескольких конвейров, разделенных одним из операторов ';', '&', '&&' или '||', и по выбору завершаемых одним из ';', '&' или новой строкой.

Из этих операторов списка '&&' и '||' имеют равный приоритет, за ними следуют ';' и '&', которые имеют равный приоритет.

Для разделения команд в списке может использоваться последовательность из одной или нескольких новых строк, что эквивалентно точке с запятой.

Если команда завершается управляющим оператором '&', shell выполняет команду асинхронно во вложенной оболочке. Это называется выполнением команды в фоновом режиме, и такие команды называются асинхронными. Оболочка не ждет завершения команды, и статус возврата равен 0 (true). Когда контроль заданий не активен, стандартный ввод для асинхронных команд, при отсутствии явного перенаправления, перенаправляется из /dev/null.

Команды, разделенные символом ';', выполняются последовательно, shell ожидает завершения каждой команды по очереди. Статус возврата - это статус выхода последней выполненной команды.

Списки AND и OR - это последовательности из одного или нескольких конвейеров, разделенных управляющими операторами '&&' и '||', соответственно. Списки AND и OR выполняются с левой ассоциативностью.

Список AND имеет вид:

command1 && command2

Command2 выполняется тогда и только тогда, когда command1 возвращает статус выхода, равный нулю (success).

Список OR имеет вид:

command1 || command2

command2 выполняется тогда и только тогда, когда command1 возвращает ненулевой статус выхода.

Статус возврата списков AND и OR - это статус выхода последней команды, выполненной в списке.