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


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ęć.


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ę


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

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”.


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.


-2

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

killall Terminal

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.