Viele Benutzer von Bash-Skripten möchten jedoch beim Beenden mit unterschiedlichen Rückgabecodes zurückkehren, erhalten jedoch Fehler. In diesem Tutorial erklären wir die verschiedenen Ansätze, um ein Bash-Skript beim Beenden mit unterschiedlichen Rückgabecodes zurückzugeben.
Bash-Skript kehrt beim Beenden mit unterschiedlichen Rückgabecodes zurück
Bevor wir uns den Methoden zuwenden, werfen wir einen Blick auf die Exit-Codes, die bestimmte Bedeutungen haben:
Exit-Codes | Beschreibung |
0 | Das Skript wird erfolgreich ausgeführt. |
1 | Das Skript wird mit allgemeinen Fehlern ausgeführt. |
zwei | Ungültige Verwendung einiger integrierter Befehle im Skript. |
126 | Zeigt den Fehler für den aufgerufenen Befehl an, der nicht ausgeführt werden kann. |
127 | Der Befehl existiert nicht im Skript. |
128 | Zeigt den Out-of-Range-Exit-Code oder das schwerwiegende Fehlersignal an. |
130 | STRG+C beendet das Skript. |
255 | Ein allgemeiner Fehlercode des Skripts. |
Wie erhalte ich Rückgabecodes beim Beenden?
Sie brauchen nur das „Echo $?“ zu schreiben. Befehl, um den Rückgabecode abzurufen. Sie möchten beispielsweise zwei Zahlen mit dem folgenden Bash-Skript vergleichen:
Sobald Sie das Skript im Terminal ausgeführt haben, führen Sie „echo $?“ aus. um den Rückgabecode beim Beenden zu erhalten:
. / Vergleich.sh
Echo $?
Die „comparison.sh“ wird erfolgreich ausgeführt. Deshalb zeigen Terminals als Rückgabewert Null an. In ähnlicher Weise erhalten Sie bei erfolgreicher Ausführung des Skripts einen Wert ungleich Null. Wenn Sie beispielsweise den Befehl Ls anstelle des Befehls ls im Skript verwenden, erhalten Sie möglicherweise einen Nicht-Null-Rückgabecode:
Wie Sie im vorherigen Bild sehen können, zeigt das Terminal 127 als Rückgabecode an, weil das Skript den falschen Befehl enthielt:
Lassen Sie ein Bash-Skript mit unterschiedlichen Exit-Codes zurückkehren
Sie können die Exit-Codes manuell im Skript einrichten. Wenn Sie beispielsweise 255 als Exit-Code erhalten möchten, verwenden Sie das folgende Skript:
Führen Sie nun das Skript aus und führen Sie dann das 'echo $?' Befehl, um 255 als Rückgabecode zu erhalten:
. / Vergleich.shEcho $?
Fazit
Hier geht es um die Exit-Codes, die Sie nach dem Ausführen des Bash-Skripts unter Linux erhalten können. Exit-Codes helfen einem Benutzer, den Status des Bash-Skripts zu identifizieren. Sie können die verschiedenen Rückgabecodes auch manuell einrichten und verwenden. Daher können Sie anstelle von Null einen Exit-Code ungleich Null erhalten, selbst wenn das Skript erfolgreich ausgeführt wird. Wenn Sie mehr über die Bash-Skripte erfahren möchten, besuchen Sie unsere offizielle Website.