Wie schließe ich das Terminal in OSX von der Befehlszeile aus?

81475
Florenz Kley

Warum wird ein Terminal.app-Fenster unter Mac OS X nicht "geschlossen"?

$ exit logout  [Process completed] 

Gibt es eine Möglichkeit, das Fenster ohne Verwendung der Maus zu schließen?

59
`Command + q` schließt das Fenster Kolob Canyon vor 7 Jahren 0

5 Antworten auf die Frage

80
Amadan

Ein Fenster, das von Terminal.app angezeigt wird, ist nur das Frontend für den Prozess, den Sie für die Ausführung auswählen - in Ihrem Fall eine Unix-Shell. Wenn Sie die Shell beenden, schließt das Terminal.app das Fenster standardmäßig nicht. Sie haben also die Möglichkeit, die Ausgabe des Befehls, den Sie ausgeführt haben, zu überprüfen, nachdem sie abgeschlossen ist.

Sie können hier Ihre Einstellungen ändern

Terminaleinstellungen -> Einstellungen -> Shell:

entweder

  1. Schließen Sie immer das Fenster, unabhängig vom Ausgangsstatus der Shell
  2. Schließen Sie das Fenster, wenn die Shell sauber beendet wurde
  3. das Fenster offen lassen (Standardeinstellung)

Außerdem können Sie Windows (fast) immer mit Cmd-W schließen, so dass Sie keine Maus benötigen, auch wenn sie sich nicht automatisch schließt.

Noch ein Hinweis: Ich treffe gerne Strg-D, anstatt exit zu tippen. Zwei Schlüssel gegen fünf.

In Yosemite ist dies: Einstellungen -> Profile -> Shell -> "Wenn die Shell beendet wird" ... Shell ist diejenige Shell, die Sie unter Allgemein-> Beim Start ausgewählt haben ... cloudsurfin vor 9 Jahren 10
Ist es möglich, nach dem Beenden der Shell eine neue Shell in demselben Fenster zu starten? Wenn das so ist, wie? Sodved vor 8 Jahren 0
@Sodved: Ich glaube es nicht, könnte aber falsch sein. Amadan vor 8 Jahren 0
Dies beantwortet die gestellte Frage nicht, da keine ** Befehlszeile ** -Operation vorgeschlagen wird. Chris Stratton vor 7 Jahren 0
18
Nisse Engström

Command+ Q-> schließt die Anwendung / den Prozess.

Command+ W-> schließt Fenster / Instanz

Die beantwortete Frage wird dadurch nicht beantwortet, da keine Befehlszeilenoperation vorgeschlagen wird. Chris Stratton vor 7 Jahren 0
9
Thomas.S

Ja da ist. Sie können beispielsweise AppleScript verwenden, um dies zu erreichen:

osascript -e 'tell application "Terminal" to close first window' 

Das erste Fenster ist immer das aktuell aktive Fenster. Das ist die, die du schließen willst.

Vor dem Schließen des Fensters werden Sie möglicherweise vom Terminal gefragt, ob Sie das Fenster wirklich schließen möchten. Dies hängt von Ihren Einstellungen ab. Möglicherweise haben Sie sich entschieden, das Fenster nur zu schließen, wenn die Shell sauber beendet wurde oder wenn keine anderen Prozesse außer… ausgeführt werden. (Dies kann die Standardeinstellung sein.) In diesem Fall & exitschließt das Hinzufügen zum Befehl das Fenster sofort und ohne zu fragen.

osascript -e 'tell application "Terminal" to close first window' & exit 
Dies ist * fast * richtig, aber in Wirklichkeit ist das "erste Fenster" * nicht * immer das, das den Befehl ausführt. Chris Stratton vor 7 Jahren 0
1
bran.io

Ich schlage auch gegen den Killall-Vorschlag vor. Ändern Sie wie vorgeschlagen die Einstellungen in Ihren Einstellungen, um das Fenster zu schließen, wenn der Shell-Exit erfolgreich war. Wenn Sie wirklich wie LAZY sind, öffnen Sie Ihr Bash-Profil und fügen Sie einen Alias ​​hinzu. Ich habe mein Set, alles was ich tun muss, ist 'q'.

-2
Just Jake

Wenn Sie die Anwendung selbst von der Befehlszeile aus beenden möchten:

killall Terminal 
das gilt als schädlich. Abgesehen von der Tatsache, dass killall verschiedene Dinge in verschiedenen Unix-Versionen ausführt, ist es nicht schön, eine Anwendung zu beenden, anstatt sie einfach zu beenden. Florenz Kley vor 12 Jahren 4