In diesem Handbuch erfahren Sie, wie Sie den Bash-Exit-Code des letzten Befehls und einige mögliche Verwendungen davon überprüfen.
Bash-Exit-Code
Jeder vom Shell-Skript oder Benutzer ausgeführte UNIX/Linux-Befehl hinterlässt einen Exit-Status. Es ist eine ganze Zahl, die unverändert bleibt, bis der nächste Befehl ausgeführt wird. Wenn der Exitcode 0 ist, war der Befehl erfolgreich. Wenn der Exit-Code ungleich Null ist (1-255), bedeutet dies einen Fehler.
Es gibt viele mögliche Verwendungen des Bash-Exit-Codes. Am offensichtlichsten ist es natürlich zu überprüfen, ob der letzte Befehl korrekt ausgeführt wurde, insbesondere wenn der Befehl keine Ausgabe erzeugt.
Im Fall von bash ist der Exit-Code des vorherigen Befehls über die Shell-Variable „$?”.
Bash-Exit-Code prüfen
Starten Sie ein Terminal und führen Sie einen beliebigen Befehl aus.
$ DatumÜberprüfen Sie den Wert der Shell-Variablen „$?” für den Exit-Code.
$ echo $?
Da der Befehl „date“ erfolgreich ausgeführt wurde, lautet der Exit-Code 0. Was passiert bei einem Fehler?
Lassen Sie uns versuchen, einen Befehl auszuführen, der nicht existiert.
$ abcdÜberprüfen Sie den Exit-Code.
$ echo $?
Es ist ein Wert ungleich Null, der anzeigt, dass der vorherige Befehl nicht richtig ausgeführt wurde.
Sehen Sie sich nun den folgenden Befehl an:
$ Katzenprobe.txt | grep "Münze"
Wenn Sie mit einem Befehl arbeiten, der eine oder mehrere Pipes hat, ist der Exit-Code der letzte Code, der in der Pipe ausgeführt wurde. In diesem Fall ist es der grep-Befehl.
Da der grep-Befehl erfolgreich war, ist er 0.
$ echo $?
Wenn in diesem Beispiel der Befehl grep fehlschlägt, ist der Exit-Code ungleich Nullzer.
$ Katzenprobe.txt | grep "abcd"$ echo $?
Exit-Code in Skripte einbinden
Der Exit-Code kann auch für Scripting verwendet werden. Eine einfache Möglichkeit, es zu verwenden, besteht darin, es einer Shell-Variablen zuzuweisen und damit zu arbeiten. Hier ist ein Beispiel-Shell-Skript, das den Exit-Code als Bedingung verwendet, um eine bestimmte Ausgabe zu drucken.
$ #!/bin/bash$ echo "Hallo Welt"
$status=$?
$ [ $status -eq 0 ] && echo "Befehl erfolgreich" || echo "Befehl fehlgeschlagen"
Bei der Ausführung generiert das Skript die folgende Ausgabe.
Sehen wir uns nun an, was passiert, wenn ein ungültiger Befehl ausgeführt werden muss.
$ #!/bin/bash$ Random-Befehl
$status=$?
$ [ $status -eq 0 ] && echo "Befehl erfolgreich" || echo "Befehl fehlgeschlagen"
Beim Ausführen wird die Ausgabe unterschiedlich sein.
Erklärung des Exit-Code-Werts
Wenn der Exit-Code ungleich Null ist, reicht der Wert von 1 bis 255. Was bedeutet dieser Wert nun??
Während der Wert begrenzt ist, ist die Erklärung jedes Wertes für das Programm/Skript einzigartig. Zum Beispiel haben „ls“ und „grep“ unterschiedliche Erklärungen für Fehlercode 1 und 2 and.
$ Mann ls$ man grep
Exit-Status im Skript definieren
Beim Schreiben eines Skripts können wir benutzerdefinierte Exit-Codewerte definieren define. Es ist eine nützliche Methode zum einfacheren Debuggen. In Bash-Skripten ist dies der Befehl „exit“ gefolgt vom Exit-Code-Wert.
$ beendenGemäß der Konvention wird empfohlen, den Exit-Code 0 für eine erfolgreiche Ausführung zuzuweisen und den Rest (1-255) für mögliche Fehler zu verwenden. Wenn Sie den Exit-Befehl erreichen, wird die Ausführung des Shell-Skripts beendet, achten Sie also auf seine Platzierung.
Schauen Sie sich das folgende Shell-Skript an. Hier, wenn die Bedingung erfüllt ist, wird das Skript mit dem Exit-Code 0 beendet. Wenn die Bedingung nicht erfüllt ist, lautet der Exit-Code 1.
$ #!/bin/bash$ if [[ "$(whoami)" != Wurzel ]]; dann
$ echo "Kein Root-Benutzer."
$ Ausfahrt 1
$ fi
$ echo "root-Benutzer"
$ beenden 0
Überprüfen Sie das Ergebnis der Ausführung dieses Skripts ohne sudo-Berechtigung oder „root“-Benutzer.
$ ./Stichprobe.Sch$ echo $?
Abschließende Gedanken
Diese Anleitung zeigt, was Exit-Codes sind und wie Sie sie verwenden können. Es zeigt auch, wie man einem Bash-Skript entsprechende Exit-Codes zuweist.
Interessiert an Bash-Scripting? Eine der einfachsten Möglichkeiten für den Einstieg besteht darin, eigene Skripte zu schreiben. Sehen Sie sich diese einfache Anleitung zum Schreiben eines einfachen Bash-Skripts an.
Viel Spaß beim Rechnen!