Come posso chiudere il Terminale in OSX dalla riga di comando?


69

Perché "uscire" non chiude una finestra Terminal.app su Mac OS X?

$ exit
logout

[Process completed]

C'è un modo per chiudere la finestra senza usare il mouse?

Risposte:


87

Una finestra visualizzata da Terminal.app è solo il frontend per il processo che scegli di eseguire al suo interno - nel tuo caso, una shell Unix. Quando esci dalla shell, Terminal.app non chiude la finestra per impostazione predefinita, quindi hai la possibilità di ispezionare l'output da qualunque comando tu abbia eseguito, al termine.

Puoi modificare le tue preferenze qui

Preferenze terminale -> Impostazioni -> Shell:

per entrambi

  1. chiudi sempre la finestra, qualunque sia lo stato di uscita della shell
  2. chiudere la finestra se la shell è uscita in modo pulito
  3. tieni aperta la finestra (impostazione predefinita)

Oltre a ciò, puoi (quasi) sempre chiudere le finestre in OSX con Cmd-W, quindi non hai bisogno del mouse anche se non si chiude automaticamente.

Un altro suggerimento: mi piace premere Ctrl-D invece di digitare exit. Due chiavi contro cinque.


11
In Yosemite è: preferenze -> profili -> shell -> "quando la shell esce" ... Shell è la shell che hai selezionato in Generale->
All'avvio

Una volta che la shell è uscita, è possibile avviare una nuova shell nella stessa finestra? Se é cosi, come?
Sodved il

@Sodved: non credo, ma potrebbe essere sbagliato.
Amadan,

Questo non risponde alla domanda che è stata posta, in quanto non propone un'operazione da riga di comando .
Chris Stratton,

@ChrisStratton Hai ragione che non risponde direttamente alla domanda ha chiesto, ma non facilitare l'utilizzo del exitcomando che il PO è stato utilizzato in origine.
Jdersen,

21

Command+ Q-> chiude l'applicazione / processo.

Command+ W-> chiude la finestra / istanza


OP richiede il metodo per chiudere la finestra Terminale "senza usare il mouse".
Josh Habdas,

10

Si C'è. Ad esempio puoi usare AppleScript per raggiungerlo:

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

La prima finestra è sempre la finestra attualmente attiva. Questo è quello che vuoi chiudere.

Prima di chiudere la finestra, il Terminale potrebbe chiederti se vuoi davvero chiudere la finestra. Questo dipende dalle tue impostazioni. Potresti aver scelto di 'chiudere la finestra solo se la shell è uscita in modo pulito o se nessun altro processo è in esecuzione oltre a ...'. (Questa potrebbe essere l'impostazione predefinita.) In tal caso l'aggiunta & exital comando chiude immediatamente la finestra e senza chiedere.

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

Questo è quasi giusto, ma in realtà la "prima finestra" non è sempre quella che esegue il comando.
Chris Stratton,

Questa tecnica funziona bene dopo che openviene chiamato per aggiungere un nuovo profilo Terminale.
Josh Habdas,

3

In realtà, per questo requisito, è necessario impostare alcune configurazioni sul Terminale. segui le istruzioni di seguito e chiuderai il tuo Terminale solo con un exitcomando.

Quando il Terminale è attivo , premere + ,per aprire la finestra delle prefrenze. allora vedrai lo schermo qui sotto:

inserisci qui la descrizione dell'immagine

Quindi premi la scheda Shell e vedrai la schermata seguente:

inserisci qui la descrizione dell'immagine

Ora seleziona Close if the shell exited cleanlyper Quando esce la shell .

Il tuo terminale è pronto per l'uscita solo con un exitcomando.


1
Eccezionale! Lo cercavo da così tanto tempo. Grazie Vin
Vinayak il

1

Suggerisco anche di non suggerire il killall. Come suggerito, modificare le impostazioni nelle preferenze per chiudere la finestra se l'uscita della shell ha avuto esito positivo. Se sei DAVVERO PIZIOSO (come me), apri il tuo profilo bash e aggiungi un alias. Ho impostato il mio, quindi tutto quello che devo fare è digitare 'q'.


Dupe della killallrisposta.
Josh Habdas,

-1

Se si desidera terminare l'applicazione stessa dalla riga di comando:

killall Terminal

4
questo è considerato dannoso. A parte il fatto che killall fa cose diverse su diverse versioni di Unix, non è bello uccidere un'applicazione invece di chiederle di uscire.
Florenz Kley,

ottima soluzione. Dobbiamo solo uscire dal terminal, quindi non si può chiedere !! migliore risposta.
Mehdico,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.