У навчальних посібниках та підручниках я часто бачу комбіновані команди. Наприклад,
sudo apt-get update && sudo apt-get install pyrenamer
Там , здається, чотири можливих роз'ємів: &, &&, ||і ;. Хоча & для мене роз'єм зрозумілий (він надсилає процес на задній план і залишає термінал доступним), незрозуміло, в чому різниця між &&і ;. І я не знав ||до коментаря Каї.
Наступні питання стосуються різниці між двома роз'ємами, але це робиться переважно в коментарях:
Ось ось низка суміжних питань:
- У чому різниця між
;і&&? - Коли слід використовувати їх відповідно? Було б непогано бачити деякі випадки використання: якщо я хочу запустити команду, а потім після відключення мого комп’ютера, який з'єднувач слід вибрати?
- Які їх переваги та небезпеки ? У коментарі до цієї відповіді Робі Басак зазначає, що така команда може мати руйнівні наслідки, якщо, наприклад, не вдасться перший елемент в командному ланцюгу.
cd /somewhere_else; rm -Rf * - Якщо доречно, звідки вони беруться?
set -eзупинить сценарій при відмові, як якщо б всі команди були пов'язані &&.
||такий же, як,&&за винятком того, що він виконує лише другу команду, якщо перша закінчилася з ненульовим (невдалим) статусом.