Szybkie rady #12: Jak uruchamiać wiele poleceń w terminalu Linux?

Jak uruchamiać wiele poleceń w terminalu Linux?
Poniżej znajdziesz praktyczny poradnik, który pomoże Ci zrozumieć, jak uruchamiać wiele poleceń w terminalu Linux (i systemach podobnych), w zależności od tego, czy zależy Ci na ich wykonaniu niezależnie, czy tylko po sukcesie lub błędzie poprzedniego polecenia. Ta wiedza przyda się zarówno w codziennej pracy z wierszem poleceń, jak i podczas pisania skryptów automatyzujących zadania.

Uruchamianie komend niezależnie od siebie – separator ;

Jeżeli chcesz wykonać kilka poleceń jedno za drugim, niezależnie od powodzenia poprzedniego, użyj średnika ;.

command1; command2; command3

W tym przykładzie:

  1. Najpierw zostanie uruchomione command1.
  2. Następnie, bez względu na wynik command1, zostanie uruchomione command2.
  3. Na końcu wykona się command3, również niezależnie od wyników poprzednich poleceń.
Szybkie rady #12: Jak uruchamiać wiele poleceń w terminalu Linux?

Wykonywanie kolejnego polecenia tylko po sukcesie – operator &&

Czasem zależy nam, aby kolejne polecenie uruchomiło się wyłącznie wtedy, gdy poprzednie zakończy się sukcesem (kod wyjścia 0). W takiej sytuacji stosujemy operator &&.

command1 && command2

Tutaj:

  • command2 wykona się tylko wtedy, gdy command1 zakończy się pomyślnie.
  • Jeżeli command1 zwróci błąd (kod wyjścia różny od 0), skrypt przerwie się i command2 nie zostanie w ogóle uruchomione.

Przykład praktyczny

sudo apt update && sudo apt upgrade -y
  1. Jeśli polecenie sudo apt update powiedzie się, uruchomione zostanie sudo apt upgrade -y.
  2. Jeśli wystąpi błąd przy aktualizacji listy pakietów, druga komenda nie zostanie wywołana.

Wykonywanie kolejnego polecenia tylko po błędzie – operator ||

Zdarza się, że chcesz uruchomić polecenie jedynie w sytuacji, kiedy poprzednie zakończy się niepowodzeniem (kod wyjścia różny od 0). Do tego służy operator ||.

command1 || command2

W tym scenariuszu:

  • Jeśli command1 powiedzie się, command2 w ogóle się nie uruchomi.
  • Jeśli command1 zakończy się błędem, wtedy wykona się command2.

Przykład praktyczny

sudo apt install somepackage || sudo apt remove somepackage
  • Jeżeli instalacja (sudo apt install somepackage) zakończy się sukcesem, usuwanie nie zostanie wykonane.
  • Jeśli instalacja się nie powiedzie, automatycznie spróbujesz pozbyć się niekompletnej lub uszkodzonej instalacji.

Przykłady i wskazówki

  1. Łączenie wielu operatorów
    Możesz łączyć operatory w dłuższych sekwencjach, np.: command1 && command2 || command3 W tym wypadku, jeśli command1 się powiedzie, wykona się command2. Jeśli command2 zakończy się błędem, zostanie wywołane command3.
  2. Klamry i logiczne grupowanie
    Jeśli chcesz grupować polecenia w logiczne bloki, możesz użyć nawiasów: (command1 && command2) || command3 Dzięki temu (command1 && command2) jest traktowane jako całość, i dopiero kiedy oba te polecenia się powiodą, command3 nie zostanie wykonane.
  3. Zastosowanie w skryptach
    Gdy piszesz skrypty w Bashu, możesz łączyć polecenia w jednej linii, aby uzyskać krótki i czytelny kod lub wprowadzić proste warunki bezpośrednio w wierszu poleceń.

Podsumowanie

  • Używaj ; do wykonania komend jedna po drugiej, niezależnie od wyniku poprzednich.
  • Wykorzystuj && do wykonania kolejnej komendy tylko po sukcesie poprzedniej.
  • Stosuj || do wywołania polecenia tylko po niepowodzeniu poprzedniego.

Zapamiętanie tych trzech sposobów na łączenie poleceń znacząco ułatwia automatyzację pracy w terminalu i daje większą kontrolę nad przebiegiem zadań. Teraz już wiesz, jak uruchamiać wiele poleceń w terminalu Linux — niezależnie, sekwencyjnie, bądź warunkowo w zależności od błędu lub sukcesu poprzedniej komendy.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *