Tutaj pokazano użycie ||iw &&jednym wierszu do łączenia wykonywania poleceń: Jak mogę sprawdzić błędy apt-get w skrypcie bash?
Próbuję zatrzymać wykonywanie skryptu, jeśli określony warunek się nie powiedzie,
na przykład
false || echo "Obvious error because its false on left" && exit
Tutaj drukuje Obvious error because its false on the lefti wychodzi z konsoli, czego chciałem.
true || echo "This shouldn't print" && exit
Tutaj nie ma drukowania echa, ale exitpolecenie również się uruchamia, tzn. Konsola jest zamknięta, czy nie powinno się uruchomić exitpolecenia, ponieważ polecenie echa po prawej nie zostało wykonane? Czy też domyślnie stwierdzenie jest uważane za fałszywe po lewej stronie &&operatora?
Edycja: Powinienem był o tym wspomnieć, moim celem było powtórzenie błędu i wyjście, jeśli nie było jasne. wrt do mojego szczególnego przypadku wyłapywania błędów podczas grupowania warunków za pomocą && i ||, @ bodhi.zazen odpowiedź rozwiązuje problem.
Odpowiedź @takatakatek wyjaśnia lepiej kontrolę przepływu, a linki prowadzące bash są doskonałe
Odpowiedź @muru ma dobre wyjaśnienie, dlaczego nie używać zestawu -e, jeśli chcesz wyświetlać niestandardowe komunikaty o błędach z alternatywami używania perla i pułapki, które moim zdaniem są bardziej niezawodne i widzę, że używam go od drugiego skryptu bash!