Jednak wielu użytkowników skryptów BASH chce zwrócić z różnymi kodami powrotnymi podczas wyjścia, ale otrzymują błędy. W tym samouczku wyjaśnimy różne podejścia, aby skrypt bash powrócił z różnymi kodami powrotu po wyjściu.
Skrypt bash zwraca z różnymi kodami powrotu na wyjściu
Przed przejściem do metod spójrzmy na kody wyjściowe, które mają określone znaczenie:
Kody wyjścia | Opis |
0 | Skrypt jest wykonywany pomyślnie. |
1 | Skrypt jest wykonywany z ogólnymi błędami. |
2 | Nieprawidłowe użycie niektórych wbudowanych poleceń w skrypcie. |
126 | Pokazuje błąd dla polecenia, które jest wywoływane i nie można go wykonać. |
127 | Polecenie nie istnieje w skrypcie. |
128 | Pokazuje kod wyjściowy poza zasięgiem lub śmiertelny sygnał błędu. |
130 | Ctrl+C kończy skrypt. |
255 | Ogólny kod błędu skryptu. |
Jak uzyskać kody powrotu podczas wyjścia?
Musisz tylko napisać „echo $?„Polecenie, aby uzyskać kod powrotu. Na przykład chcesz porównać dwie liczby za pomocą następującego skryptu Bash:
Po wykonaniu skryptu w terminalu uruchom „Echo $?„Aby uzyskać kod powrotu na wyjściu:
./porównanie.cii
Echo $?
Porównanie.sh ”jest wykonywane pomyślnie. Dlatego terminale wykazują zero jako kod powrotu. Podobnie, uzyskasz niezerowe jako pomyślne wykonanie skryptu. Na przykład, jeśli używasz LS zamiast polecenia LS w skrypcie, możesz uzyskać niezerową jako kod powrotu:
Jak widać na poprzednim obrazie, terminal pokazuje 127 jako kod powrotu, ponieważ skrypt zawierał niewłaściwe polecenie:
Spraw, aby skrypt bash powrócił z różnymi kodami wyjściowymi
Możesz ręcznie skonfigurować kody wyjściowe w skrypcie. Na przykład, jeśli chcesz uzyskać 255 jako kod wyjścia, użyj następującego skryptu:
Teraz wykonaj skrypt, a następnie uruchom „echo $?„Polecenie, aby uzyskać 255 jako kod powrotu:
./porównanie.cii
Echo $?
Wniosek
Chodzi o kody wyjściowe, które możesz uzyskać po wykonaniu skryptu Bash w Linux. Kody wyjścia pomagają użytkownikowi zidentyfikować status skryptu Bash. Możesz także ręcznie skonfigurować i użyć różnych kodów powrotu. Dlatego możesz uzyskać niezerowy kod wyjściowy zamiast zero, nawet jeśli skrypt zostanie pomyślnie wykonywany. Jeśli chcesz dowiedzieć się więcej o skryptach Bash, przejrzyj naszą oficjalną stronę internetową.