Niektóre typowe kody stanu błędu są wymienione poniżej.
Kod | Opis | Uwagi |
0 | Oznacza to pomyślne wykonanie. | |
1 | Służy do złapania wszystkich ogólnych błędów. | „Podziel przez zero”, „Operacja niedozwolona” itp. mogą być komunikatami o błędach tego kodu. |
2 | Wskazuje na nadużycie wbudowanych skorupy. | „Brakujące słowo kluczowe”, „Brak takiego pliku lub katalogu” itp. mogą być komunikatami o błędach tego kodu. |
126 | Generuje, gdy dowolne polecenie nie jest w stanie wykonać. | Problem zezwolenia lub wymagany klucz Niedostępny może wygenerować ten kod stanu |
127 | Zwykle generuje problem ścieżki poleceń. | „Nie znaleziono polecenia” może być komunikatem dla tego kodu błędu. |
130 | Generuje dla błędu śmiertelnego. | „Skrypt zakończony Ctrl+C” może być przesłaniem tego kodu. |
255* | Wskazuje kod wyjścia poza zasięgiem. |
Przykład-1: Czytanie kodu wyjścia z terminalu
'$?„Zmienna powłoki można użyć do wyświetlania kodu wyjścia dowolnego polecenia. „LS -LA” to prawidłowe polecenie i pokazuje listę plików i folderów bieżącego katalogu roboczego. Wartość „$?„Będzie 0 po wykonaniu polecenia„ LS -LA ”. „ls -xyz” to nieprawidłowe polecenie i „$?„zwróci 2 jako kod błędu po wykonaniu polecenia.
$ LS -LA
$ echo $?
$ ls -xyz
$ echo $?
Przykład-2: Czytanie kodu wyjścia w skrypcie Bash
Utwórz plik bash o nazwie Read_file.cii z następującym skryptem. W tym skrypcie nazwa pliku zostanie uznana za wejście użytkownika, a całkowita liczba wierszy, słowa i znaki tego pliku zostanie policzone za pomocą polecenia „WC”. Jeśli nazwa pliku jest prawidłowa, wartość $ status_code wynosi 0, a jeśli nazwa pliku jest nieprawidłowa, wówczas wartość $ status_code wynosi 1.
Read_file.cii
#!/bin/bash
echo „Wprowadź nazwę pliku”
Przeczytaj nazwę pliku
wc -lwc $ nazwa pliku
Status_code = $?
Echo „Wyjście z polecenia„ WC ”to: $ Status_code”
Przykład-3: Korzystanie z wartości kodu wyjścia do wykonywania określonego zadania
Utwórz plik bash o nazwie Read_month.cii z następującym kodem. Tutaj wartość daty zostanie uznana za dane wejściowe. Nazwa miesiąca będzie pobierana z wartości daty, jeśli data wprowadzania jest ważna, w przeciwnym razie pojawi się komunikat o błędzie „nieprawidłowy”. „Jeśli” jest używany w skrypcie do sprawdzenia kodu stanu wyjścia komendy daty. Jeśli warunek jest prawdziwy, wówczas komunikat sukcesu i nazwa miesiąca daty zostaną wydrukowane. Jeśli warunek jest fałszywy, wówczas komunikat o awarii i kod stanu wyjścia, 1 wydrukuje.
Read_month.cii
#!/bin/bash
echo „Wprowadź datę w formacie: Ryyy-MM-DD”
odczyt date_value
current_month = $ (data -d "$ date_value" '+%b')
Jeśli [$? -Eq 0]
Następnie
Echo „Polecenie daty jest wykonywane pomyślnie”
echo „bieżący miesiąc to $ current_month”
w przeciwnym razie
Echo „Polecenie daty nie jest pomyślnie wykonywane”
Wyjście 1
fi
Uruchom skrypt.
$ bash read_month.cii
Przykład-4: Używanie && i || z kodem wyjściowym
„&&” Operator logiczny jest używany do udanego kodu wyjścia i „||” Operator logiczny służy do nieudanego kodu wyjścia. Następujące polecenie wydrukuje „plik istnieje”, jeśli książka.tekst Plik istnieje w bieżącej lokalizacji i wydrukuj „plik nie istnieje”, jeśli książka.tekst Plik nie istnieje w bieżącej lokalizacji.
Książka $ cat.txt && echo „plik istnieje” || Echo „Plik nie istnieje”
W tym samouczku pokazano różne zastosowania kodu stanu wyjścia. Mam nadzieję, czytelnik otrzyma jasną koncepcję kodu statusu wyjścia po przeczytaniu tego samouczka.