Jak zamknąć Terminal w OSX z wiersza poleceń?

60

Dlaczego „nie zamyka” okna Terminal.app w systemie Mac OS X?

$ exit
logout

[Process completed]

Czy istnieje sposób na zamknięcie okna bez użycia myszy?

Florenz Kley
źródło
Command + q zamknie okno
Kolob Canyon

Odpowiedzi:

80

Okno wyświetlane przez Terminal.app jest tylko frontendem dla procesu, który wybierzesz, aby go uruchomić - w twoim przypadku, powłoką uniksową. Gdy wyjdziesz z powłoki, Terminal.app nie zamyka domyślnie okna, więc masz możliwość sprawdzenia wyjścia z dowolnego polecenia, które uruchomiłeś, po jego zakończeniu.

Możesz zmienić swoje preferencje tutaj

Preferencje terminala - & gt; Ustawienia - & gt; Muszla:

albo

  1. zawsze zamknij okno, niezależnie od statusu wyjścia powłoki
  2. zamknij okno, jeśli powłoka wyszła czysto
  3. utrzymuj otwarte okno (domyślnie)

Poza tym możesz (prawie) zawsze zamykać okna w OSX za pomocą Cmd-W, więc nie potrzebujesz myszy, nawet jeśli nie zamknie się automatycznie.

Jeszcze jedna wskazówka: lubię naciskać Ctrl-D zamiast wpisywać exit. Dwa klucze vs. pięć.

Amadan
źródło
10
W Yosemite to: preferencje - & gt; profile - & gt; powłoka - & gt; „kiedy powłoka kończy działanie” ... Powłoka jest dowolną powłoką wybraną w sekcji Ogólne- & gt; Po uruchomieniu otwórz ...
cloudsurfin
Czy po zamknięciu powłoki można uruchomić nową powłokę w tym samym oknie? Jeśli tak to jak?
Sodved
@Sodved: Nie sądzę, żeby tak było, ale może być źle.
Amadan
To nie odpowiada na pytanie, które zostało zadane, ponieważ nie proponuje wiersz poleceń operacja.
Chris Stratton
@ ChrisStratton Masz rację, że nie odpowiada bezpośrednio na zadane pytanie, ale to robi ułatwić korzystanie z exit polecenie, którego OP używał pierwotnie.
jdersen
18

Dowództwo + P - & gt; zamyka aplikację / proces.

Dowództwo + W - & gt; zamyka okno / instancję

Nisse Engström
źródło
Nie odpowiada to na pytanie, które zostało zadane, ponieważ nie proponuje operacji linii poleceń.
Chris Stratton
9

Tak jest. Na przykład możesz użyć AppleScript, aby to osiągnąć:

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

Pierwsze okno to zawsze aktywne okno. To ten, który chcesz zamknąć.

Przed zamknięciem okna Terminal może zapytać, czy naprawdę chcesz zamknąć okno. To zależy od twoich ustawień. Być może zdecydowałeś się „zamknąć okno tylko wtedy, gdy powłoka wyszła czysto lub żadne inne procesy nie działają poza…” (Może to być ustawienie domyślne). W takim przypadku dodanie & exit do komendy zamyka okno natychmiast i bez pytania.

osascript -e 'tell application "Terminal" to close first window' & exit
Thomas.S
źródło
To jest prawie prawda, ale w rzeczywistości „pierwsze okno” jest nie zawsze ten, który uruchamia polecenie.
Chris Stratton
1

Sugeruję również, aby nie sugerować zabójstwa. Zgodnie z sugestią zmodyfikuj ustawienia w preferencjach, aby zamknąć okno, jeśli wyjście powłoki powiodło się. Jeśli jesteś NAPRAWDĘ LUDZI (jak ja), otwórz swój profil bash i dodaj alias. Mam swój zestaw, więc wszystko, co muszę zrobić, to wpisać „q”.

bran.io
źródło
0

Właściwie, dla tego wymagania, powinieneś ustawić trochę konfiguracji na swoim Terminalu. postępuj zgodnie z poniższymi instrukcjami i zamknij swój Terminal za pomocą exit dowództwo.

Gdy terminal jest włączony, naciśnij + , aby otworzyć okno preferencji. wtedy zobaczysz poniższy ekran:

enter image description here

Następnie naciśnij zakładkę powłoki i zobaczysz poniższy ekran:

enter image description here

Teraz wybierz Close if the shell exited cleanly dla Kiedy powłoka wychodzi .

Twój terminal jest gotowy do wyjścia tylko za pomocą exit dowództwo.

AmerllicA
źródło
-2

Jeśli chcesz zakończyć samą aplikację z linii poleceń:

killall Terminal
Just Jake
źródło
4
uważany za szkodliwy. Oprócz faktu, że killall robi różne rzeczy na różnych wersjach Uniksa, nie jest przyjemnie zabijać aplikację, zamiast prosić ją, aby po prostu zamknęła.
Florenz Kley