Befehl beenden unter Linux

Befehl beenden unter Linux
In Linux wird der Befehl exit verwendet, um die Shell (die aktuelle Anmeldesitzung) zu beenden, in der sie ausgeführt wird. Ähnlich wie bei einem C -Programm wird der Befehl exit in Shell -Skripten verwendet, um das Skript zu beenden. Darüber hinaus gibt es einen Wert zum übergeordneten Prozess des Skripts zurück.

Was werden wir abdecken??

In diesem Handbuch sehen wir einen Überblick über den Befehl exit unter linux mit einigen Anwendungsfällen.

Der Befehl und den Beendigungstatus beenden

Sie können auch den Befehl exit verwenden, um den Exit -Status der Shell anzugeben. Der Exit -Status ist ein numerischer Wert, der an den übergeordneten Prozess zurückgegeben wird, wenn die Shell endet.

Der Exit -Status kann verwendet werden, um den Erfolg oder Misserfolg des Befehls anzuzeigen. Beispielsweise kann ein Shell -Skript den Exit -Status verwenden, um festzustellen, ob bestimmte Aktionen basierend auf dem Erfolg oder Misserfolg eines Befehls durchgeführt werden sollen.

Um den Exit -Status anzugeben, können Sie den Befehl exit verwenden, gefolgt von einer Nummer. Beispielsweise gibt der Exit 0 einen erfolgreichen Ausgang an, während Exit 1 einen Fehler angibt.

Der Befehl exit akzeptiert ein einzelnes optionales Argument, das zum Exit -Status des Skripts wird.

Wenn kein Argument übergeben wird. Um den Exit -Status zu sehen, verwenden Sie das Echo “$?” Befehl.

Beispiele für Exit -Codes (Exit -Status)

Der Befehl exit ist von entscheidender Bedeutung, um anzuzeigen, dass ein schwerwiegender Fehler aufgetreten ist. Wenn Sie in Ihren Skripten eine allgemeine Fehlerfalle benötigen.

Sehen wir uns einige Beispiele für die Verwendung des Exit -Code in einem Skript und in einem Terminal an:

Beispiel 1: Verwenden Sie den Befehl exit mit Dateiausdruck

Nehmen wir zunächst ein Beispiel für ein Skript:

#!/Bin/Bash
# Test-Datei: Bewerten Sie den Status einer Datei
Datei =/Proc/Uptime
if [-e "$ file"]; dann # Überprüfen Sie die Existenz der Datei.
wenn [-f "$ file"]; Dann prüfen Sie, ob es sich um eine reguläre Datei handelt.
Echo "$ file ist eine reguläre Datei."
fi
if [-b "$ file"]; Dann prüft #, ob es sich um eine Blockdatei handelt
echo "$ file ist ein Blockgerät"
fi
anders
Echo "$ file ist weder eine reguläre noch eine Blockdatei oder es gibt möglicherweise nicht"
Ausgang 1
fi
Ausfahrt

Das Skript führt eine Bewertung in der Datei durch, die der Konstante zugeordnet ist "DATEI" und gibt die Ergebnisse aus, während sie ausgeführt werden.

Erstens überprüft es, ob es sich um eine reguläre Datei oder eine Blockdatei handelt. Wenn die Bedingung nicht erfüllt ist, druckt sie die Nachricht im else -Block aus.

Der erste Ausgangsbefehl legt den Exit -Status des Skripts im Fehlerfall fest (Beendenwert als 1). Der zweite Ausgangsbefehl ist ein formaler Ausdruck. Dies bedeutet, dass, wenn das Skript seine Ausführung bis zum Ende vervollständigt, den Exit -Status des letzten Befehls hat, der in diesem Fall der Befehl exit ist. Dieser letzte Befehl zum Beenden führt zum Erfolg (Beendenwert als 0):

Beispiel 2: Verwenden Sie wahre und falsche Befehle mit dem Befehl exit

Wenn Sie ein einfaches oder falsches Argument ein einfaches oder falsches Argument eingeben. Wenn wir stattdessen eine falsche Anweisung angeben, beträgt der Exit -Status 1, da Falsch mit Code 1 beendet ist. Lassen Sie uns dies praktisch sehen. Geben Sie zunächst den wahren Befehl aus und überprüfen Sie den Exit -Status:

$ true
$ echo $?

Geben Sie nun den falschen Befehl aus und überprüfen Sie dies erneut den Status der Exit:

$ false
$ echo $?

Beispiel 3: Unterbrechen eines Skripts mit Strg+C

Wenn ein Benutzer Control-C trifft, wird ein spezielles Signal als SIGINT gesendet. Dadurch wird das Skript oder das laufende Programm unterbricht, wodurch es mit dem Code 130 beendet wird. Nehmen wir ein Beispiel: Nehmen wir an, Sie haben mit dem Befehl Find begonnen, eine Datei zu durchsuchen:

$ find / -Empty

Die Suche läuft noch. Dann unterbrach Sie es plötzlich mit "Strg+C". Dies führt dazu, dass der Befehl mit dem Exit -Code 130 aufhört.

Beispiel 4: Die Shell -Variable Shlvl und der Beießbefehl

Mit der Shell-spezifischen Variablen, SHLVL, können Sie sehen, wie viele Ebenen tief in der Bash-Hülle Sie sind. Jede neue Shell -Sitzung, die in einem Terminal geöffnet wird. Wenn Shlvl IS> 1, der Befehl exit schließt die aktuelle Sitzung. Auf die gleiche Weise, wenn die Shlvl IS = 1, der Befehl exit protet Sie aus dem System heraus.

Um es einfach auszusetzen, schließt die Shell, wenn Sie "Beenden" an der Eingabeaufforderung eingeben, und drücken Sie die Eingabetaste (schließen Sie die aktuelle Anmeldesitzung) und Sie werden an die Shell oder die Eingabeaufforderung zurückgegeben, von der Sie sie gestartet haben.

Abschluss

Wir haben die unterschiedlichen Anwendungsfälle des Ausgangsbefehls und die Interpretation des Exit -Status in jedem Fall gesehen. Es gibt viele verschiedene Ausgangscode -Zahlen für verschiedene Zwecke. Beachten Sie, dass diese Exit -Codes spezifisch sind. Wenn Sie tendenziell andere Schalen verwenden, z C-Shell oder TCSH, Die Ergebnisse können unterschiedlich sein.