Co robi „||” Mieć na myśli? - Grzmotnąć

Co robi „||” Mieć na myśli?  - Grzmotnąć
Podwójna rura („||”) jest operatorem sterowania, który reprezentuje logiczny lub operacyjny. Służy do wykonywania polecenia lub serii poleceń tylko wtedy, gdy poprzednie polecenie lub rurociąg nie powiodło się lub zwróciło niezerowy kod stanu. W tym przewodniku omówi użycie tego, co oznacza ta podwójna rura i jak jest ona używana w skryptach bash, więc przeczytaj ten przewodnik, jeśli jesteś zainteresowany.

Co robi „||” Mieć na myśli? (Podwójna rura)

Operator podwójnej rury ocenia, czy którykolwiek z wyrażeń po obu stronach jest prawdą, a w przeciwnym razie fałsz. Oznacza to, że jeśli jedno z wyrażeń jest prawdziwe, drugie wyrażenie nie trzeba oceniać. Jeśli oba wyrażenia są fałszywe, wówczas operator ocenia fałszywe, więc oto składnia dla niego:

Lub tabela prawdy operacyjnej
0 0 0
0 1 1
1 0 1
1 1 1

Składnia do używania podwójnej rury.

||

Aby dalej zilustrować, utworzyłem skrypt bash, który działa bez podwójnej rury i sprawdź status wyjścia, aby sprawdzić, czy polecenie jest wykonane, czy nie, poniżej znajduje się kod:

#!/bin/bash
# Próba usunięcia pliku
rm/home/aaliyan/bashfile44.cii
Jeśli [$? -ne 0]; Następnie
# Poprzednie polecenie nie powiodło się, więc wydrukuj komunikat o błędzie
Echo „Plik nie można było usunąć”
w przeciwnym razie
# Poprzednie polecenie zakończyło się sukcesem, więc wydrukuj komunikat sukcesu
Echo „Usunięto plik”
fi

W tym przykładzie polecenie RM służy do usuwania pliku. Jeśli plik nie można usunąć lub nie istnieje, Bash wykona polecenie Echo, aby wydrukować komunikat o błędzie. Aby sprawdzić status wyjścia polecenia usuwania, użyto instrukcji IF, która jest przechowywana w specjalnej zmiennej powłoki $?. Jeśli status wyjścia jest numerem zerowym NOB na wypadek, gdyby polecenie się nie powiodło, komunikat o błędzie jest wydrukowany w ten sposób:

Podobnie, jeśli plik wyjście i zostanie usunięty, wyjście będzie takie:

Teraz jest ten sam skrypt bash, który usuwa plik, ale w tym skrypcie użyłem operatora podwójnego rur i widać, że kod stał się łatwiejszy do zrozumienia i czytelny:

#!/bin/bash
# Spróbuj usunąć plik i wydrukuj komunikat o błędzie, jeśli się nie powiedzie
rm/ścieżka/do/plik || Echo „nie można było usunąć”

W tym kodzie polecenie RM jest wykonywane, a jeśli się nie powiedzie, polecenie ECHO jest wykonywane w celu wydrukowania komunikatu o błędzie i tutaj jest wyjście tego skryptu, jeśli się nie powiedzie:

Teraz w pierwszym skrypcie, instrukcja IF jest używana do sprawdzenia statusu wyjścia polecenia RM, a następnie komunikat o błędzie jest wydrukowany, jeśli polecenie się nie powiedzie. Takie podejście jest bardziej pełne i wymaga więcej linii kodu. Ponadto można zapomnieć o sprawdzeniu statusu wyjścia polecenia, co może spowodować błędy lub nieoczekiwane zachowanie w skrypcie.

Podczas gdy w drugim skrypcie użyłem „||” operator, aby uprościć obsługę błędów. Polecenie echo jest wykonywane tylko na wypadek, gdyby polecenie RM nie powiedzie się, jak w takim przypadku pierwsze wejście jest fałszywe. Takie podejście jest bardziej zwięzłe i łatwiejsze do odczytania, i zapewnia, że ​​komunikat o błędzie jest zawsze drukowany, jeśli polecenie się nie powiedzie.

Ogólnie rzecz biorąc, jest to dobra praktyka używanie „||” operator w skryptach Bash, aby uprościć kod i uczynić go bardziej czytelnym. Należy jednak zauważyć, że ten operator działa tylko w prostych przypadkach obsługi błędów, aw bardziej złożonych scenariuszach może być konieczne użycie bardziej zaawansowanych technik.

Podobnie, jeśli plik zostanie usunięty, operator podwójnej rury nie wykonałby drugiego warunku i po prostu zakończy się, więc tutaj, jeśli pojawią się plik, wtedy:

Wniosek

„||” (podwójna rura) Operator w Bash jest użytecznym operatorem sterowania, który może uprościć skontleby skorupowe, umożliwiając warunkowe wykonywanie poleceń na podstawie sukcesu lub awarii poprzednich poleceń. Ten przewodnik zawiera obszerne szczegóły na temat tego, co oznacza ten operator i jak można go używać w skrypcie Bash za pomocą przykładów.