Sprawdzanie statusu wyjścia za pomocą instrukcji „jeśli” w Bash
Korzystanie z instrukcji „If” i „$?„Zmienna możemy ustalić, czy polecenie lub skrypt pomyślnie wykonał. Który zawiera status wyjścia najnowszego wykonanego polecenia, składnia instrukcji „If” do określania statusu wyjścia jest następująca:
Jeśli [$? -Eq 0]
Następnie
Echo „Execution Ssisfull”
w przeciwnym razie
Echo „Wykonanie nie powiodło się”
fi
Operator „-eq” służy do sprawdzenia, czy status wyjścia jest równy zero, czy nie, co wskazuje, że polecenie lub skrypt zakończyło się pomyślnie.
Jeśli status wyjścia nie jest równy zero, wykonany jest blok „else”, który drukuje komunikat wskazujący, że polecenie się nie powiodło. Oto prosty przykład ilustrujący, w jaki sposób możemy użyć instrukcji „jeśli”, aby sprawdzić status wyjścia polecenia:
#!kosz/bash
LS /FALSE-DIRECTOR
Jeśli [$? -Eq 0]
Następnie
Echo „Execution Suncessfull”
w przeciwnym razie
Echo „Wykonanie nie powiodło się”
fi
Aby wymienić zawartość nieistniejącego katalogu, używam polecenia „LS”, a ponieważ katalog nie istnieje, polecenie „LS” nie powiedzie się, a jego status wyjścia będzie niezerowy. Oświadczenie „jeśli” sprawdza status wyjścia za pomocą „$?„Zmienna i drukuje komunikat wskazujący, że polecenie nie powiodło się:
Wniosek
Sprawdzanie statusu wyjścia polecenia lub skryptu jest ważną częścią skryptowania bash i użyciem instrukcji „jeśli” wraz z „$?„Zmienna to prosty i skuteczny sposób sprawdzenia statusu wyjścia. Opanując tę technikę, możemy łatwo określić powodzenie lub porażkę polecenia lub skryptu i podjąć odpowiednie działania na podstawie statusu wyjścia.