Bash -Exit -Code des letzten Befehls

Bash -Exit -Code des letzten Befehls

Wenn ein Bash -Befehl ausgeführt wird, hinterlässt er den Exit -Code, unabhängig von einer erfolgreichen oder erfolglosen Ausführung. Durch die Untersuchung des Exit-Code können nützliche Einblicke in das Verhalten des Last-Run-Befehls gewährt werden.

In diesem Handbuch finden Sie in der Überprüfung des Bash -Exit -Code des letzten Befehls und einigen möglichen Verwendungen davon können Sie.

Bash -Ausgangscode

Jeder von dem Shell -Skript oder Benutzern ausgeführte Befehl unix/linux hinterlässt einen Exit -Status. Es ist eine ganzzahlige Nummer, die unverändert bleibt, es sei denn, der nächste Befehl wird ausgeführt. Wenn der Ausgangscode 0 ist, war der Befehl erfolgreich erfolgreich. Wenn der Ausgangscode ungleich Null (1-255) ist, bedeutet er einen Fehler.

Es gibt viele potenzielle Verwendungen des Bash -Exit -Code. Am offensichtlichsten ist natürlich zu überprüfen, ob der letzte Befehl ordnungsgemäß ausgeführt wird, insbesondere wenn der Befehl keine Ausgabe generiert.

Im Fall von BASH ist der Exit -Code des vorherigen Befehls mithilfe der Shell -Variablen „$ zugegriffen“ zugänglich?”.

Überprüfen Sie den Bash -Exit -Code

Starten Sie ein Terminal und führen Sie einen beliebigen Befehl aus.

$ Datum

Überprüfen Sie den Wert der Shell -Variablen „$?”Für den Ausgangscode.

$ echo $?

Da der Befehl „Datum“ erfolgreich ausgeführt wurde, ist der Exit -Code 0. Was würde passieren, wenn es einen Fehler gäbe?

Versuchen wir, einen Befehl auszuführen, der es nicht gibt.

$ ABCD

Überprüfen Sie den Ausgangscode.

$ echo $?

Es ist ein Wert ungleich Null, der angibt, dass der vorherige Befehl nicht ordnungsgemäß ausgeführt wurde.

Schauen Sie sich nun den folgenden Befehl an:

$ CAT -Probe.txt | Grep "Münze"

Wenn Sie mit einem Befehl mit einem oder mehreren Rohren arbeiten. In diesem Fall ist es der Grep -Befehl.

Da der Grep -Befehl erfolgreich war, wird es 0 sein.

$ echo $?

Wenn der Befehl Grep fehlschlägt, ist der Ausgangscode ungleich Null, wenn der GREP-Befehl fehlschlägt.

$ CAT -Probe.txt | Grep "ABCD"
$ echo $?

Integration von Exit -Code in Skripte einbeziehen

Der Exit -Code kann auch zum Skript verwendet werden. Eine einfache Möglichkeit, es zu verwenden, besteht darin, es einer Shell -Variablen zugewiesen und damit zu arbeiten. Hier ist ein Beispiel -Shell -Skript, das den Exit -Code als Bedingung zum Drucken spezifischer Ausgabe verwendet.

$ #!/Bin/Bash
$ echo "Hallo Welt"
$ status = $?
$ [$ status -eq 0] && echo "Befehl erfolgreich" || Echo "Befehl erfolglos"

Bei der Ausführung erzeugt das Skript die folgende Ausgabe.

Lassen Sie uns nun sehen, was passiert, wenn ein ungültiger Befehl ausgeführt wird.

$ #!/Bin/Bash
$ random-command
$ status = $?
$ [$ status -eq 0] && echo "Befehl erfolgreich" || Echo "Befehl erfolglos"

Beim Ausführen ist die Ausgabe unterschiedlich.

Beenden Sie den Code -Wert Erläuterung

Wenn der Exit-Code ungleich Null ist, liegt der Wert von 1 bis 255. Was bedeutet dieser Wert nun??

Während der Wert begrenzt ist, ist die Erläuterung jedes Wertes für das Programm/das Skript nur eindeutig. Zum Beispiel haben „LS“ und „Grep“ unterschiedliche Erklärungen für den Fehlercode 1 und 2.

$ MAN LS
$ MAN GREP

Definieren von Exit -Status im Skript

Beim Schreiben eines Skripts können wir benutzerdefinierte Exit -Codewerte definieren. Es ist eine nützliche Methode zum einfacheren Debuggen. In Bash -Skripten handelt es sich um den Befehl "Exit", gefolgt vom Bezugscodewert,.

$ Exit

Gemäß der Konvent. Wenn Sie den Befehl zum Beenden erreichen.

Schauen Sie sich das folgende Shell -Skript an. Wenn die Bedingung erfüllt ist, endet das Skript mit dem Exit -Code 0. Wenn die Bedingung nicht erfüllt ist, beträgt der Exit -Code 1.

$ #!/Bin/Bash
$ wenn [["$ (whoami)" != root]]; Dann
$ echo "Nicht Root -Benutzer."
$ Exit 1
$ fi
$ echo "Root -Benutzer"
$ Exit 0

Überprüfen Sie das Ergebnis des Ausführens dieses Skripts ohne Sudo -Privileg oder "Root" -Nutzer.

$ ./Probe.Sch
$ echo $?

Abschließende Gedanken

Dieser Leitfaden zeigt, welche Exit -Codes sind und wie Sie sie verwenden können. Es zeigt auch, wie Sie geeignete Exit -Codes in einem Bash -Skript zuweisen.

Interessiert an Bash Scripting? Eine der einfachsten Möglichkeiten, um loszulegen, besteht darin, Ihre eigenen Skripte zu schreiben. Schauen Sie sich diese einfache Anleitung zum Schreiben eines einfachen Bash -Skripts an.

Happy Computing!