Тут показано, що використовувати ||і &&в одному рядку для об'єднання виконання команд: Як я можу перевірити помилки apt-get у скрипті bash?
Я намагаюся зупинити виконання сценарію, якщо певна умова не вдається,
напр
false || echo "Obvious error because its false on left" && exit
Тут він друкує Obvious error because its false on the leftта виходить із консолі, що я хотів.
true || echo "This shouldn't print" && exit
Тут немає друку ехо, але exitкоманда також працює, тобто консоль закрита, чи не повинна exitкоманда не запускатися, оскільки команда echo праворуч не виконувалася? Або за замовчуванням оператор вважається помилковим на лівій частині &&оператора?
Редагувати: я повинен був згадати це раніше, моєю метою було повторити помилку та вийти, якщо вона не була зрозумілою. wrt до мого конкретного випадку помилок уловлювання під час групування умов за допомогою && та ||, @ bodhi.zazen відповідь вирішує проблему.
Відповідь @takatakatek робить більш зрозумілим про контроль потоку, а посилання на направляючі bash чудові
@muru відповідь має гарне пояснення, чому не використовувати set -e, якщо ви хочете, щоб користувацькі повідомлення про помилки перекидались альтернативами використання perl та trap, що, на мою думку, є більш надійним способом, і я бачу, як я використовую його з мого другого скрипту bash!