BASH-Programmierung

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 erfolgreicher oder nicht erfolgreicher Ausführung. Die Untersuchung des Exit-Codes kann nützliche Einblicke in das Verhalten des zuletzt ausgeführten Befehls geben.

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.

$ beenden

Gemäß 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!

Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...
Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...