bash символы “;” и “&”, “&&” и “||”

Выполнить обе команды:

команда1; команда2 # последовательное выполнение
команда1& команда2 # параллельное выполнение

Символ “;” используется для последовательного выполнения нескольких команд: после завершения одной команды начинается выполение другой. Если вместо “;” используется “&”, то команда, сопровождаемая этим знаком, выполняется в фоновом режиме, а выполнение следующей команды начинается немедленно, и, таким образом, две или более команд выполняются параллельно.

Выполнить команду1, и если она выполнилась удачно, выполнить команду2:

команда1 && команда2

Выполнить команду1, и если она выполнилась неудачно, выполнить команду2:

команда1 || команда2

Как известно, каждая команда возвращает некоторый код завершения, по которому можно судить об “успешности” выполнения. Если на командную строку смотреть как на логическое выражение, значение которого требуется вычислить, где отдельные команды — переменные, принимающие значение “истина” или “ложь”, то знаки “&&” и “||” можно рассматривать как операции логического И и ИЛИ. Отсюда понятна и логика действия этих связок в командой строке: если первая из двух команд, соединенных связкой И, возвращает “ложь”, то результат всего выражения — заведомо “ложь”, поэтому вторая команда не выполняется; аналогично, если первая из двух команд, соединенных связкой ИЛИ, первая выполнилась успешно, то уже известно, что результат всего выражения — “истина”, и вторая команда не выполняется.

Теги:

Ви повинні залогінитися ,щоб залишити коментар.