exit
100%

Befehlszeile · Lektion 19

exit

Lerne, die aktuelle Shell zu verlassen und ihren Rückgabestatus für den Aufrufer festzulegen.

Shells können ineinander verschachtelt sein: Ein grafisches Terminal startet eine Shell, eine SSH-Verbindung eine entfernte Shell und eine Shell kann eine weitere Shell starten. Wenn du eine davon verlässt, erhält normalerweise der Prozess wieder die Kontrolle, der diese aktuelle Shell gestartet hat.

Die aktuelle Shell verlassen

Der Befehl exit fordert die aktuelle Shell auf, sich zu beenden:

$ exit

Ist diese Shell der Hauptprozess in einem grafischen Terminal-Tab, kann sich der Tab entsprechend den Terminaleinstellungen schließen. In einer SSH-Sitzung kehrst du nach dem Verlassen der entfernten Shell normalerweise zur lokalen Shell zurück. Hast du eine verschachtelte Shell gestartet, führt exit zur übergeordneten Shell zurück.

Du hast Bash innerhalb einer anderen Shell gestartet und möchtest nun zur übergeordneten Shell zurückkehren. Welchen Befehl führst du in der verschachtelten Bash-Sitzung aus?

Einen Beendigungsstatus zurückgeben

Mit einem optionalen numerischen Argument legst du den Status fest, den die Shell an ihren Aufrufer zurückgibt:

$ exit 0

Konventionsgemäß bedeutet 0 Erfolg; ein von null verschiedener Wert steht für einen Fehler oder eine andere vom Programm definierte Bedingung. Erhält Bash kein numerisches Argument, beendet sie sich mit dem Status des letzten Befehls vor exit.

Welcher Befehl beendet die aktuelle Shell und meldet ihrem Aufrufer ausdrücklich Erfolg?

Welchen Status gibt exit in Bash zurück, wenn du keine Zahl angibst?

logout in einer Login-Shell verwenden

Das Bash-Builtin logout beendet eine Login-Shell:

$ logout

In einer Bash-Shell ohne Login meldet logout, dass es sich nicht um eine Login-Shell handelt. Verwende dort stattdessen exit.

Welches Bash-Builtin ist speziell zum Verlassen einer Login-Shell vorgesehen?

Ctrl+D verwenden oder ein Terminal schließen

An einer leeren interaktiven Eingabeaufforderung liefert Ctrl+D normalerweise das Dateiende-Eingabezeichen des Terminals. Bash deutet diesen Zustand häufig als Aufforderung zum Beenden. Es handelt sich nicht um ein Signal, und Shell-Einstellungen wie Bashs ignoreeof können das Verhalten ändern.

Beim Schließen eines grafischen Terminalfensters fordert die Terminalanwendung ihre Prozesse zum Beenden auf, was sich auf laufende Aufgaben auswirken kann. Bevorzuge nach Möglichkeit ein geordnetes exit und prüfe vor dem Schließen, ob noch Arbeit aktiv ist.

Lektion abgeschlossen

Sie haben exit abgeschlossen

Du kannst nun die aktuelle Shell verlassen und ihren Abschlussstatus mitteilen.

  • Kehre mit exit zum Aufrufer der aktuellen Shell zurück.

  • Verwende 0 für Erfolg und andernfalls einen definierten, von null verschiedenen Status.

  • Verstehe den Status eines exit ohne Zahlenargument.

  • Verwende logout nur für eine Login-Shell.

  • Erkenne Ctrl+D als Dateiende-Eingabe und nicht als Signal.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Zurück zu Befehlszeile