Как закрыть Терминал в OSX из командной строки?

81328
Florenz Kley

Почему «выход» не закрывает окно Terminal.app в Mac OS X?

$ exit logout  [Process completed] 

Есть ли способ закрыть окно, не используя мышь?

59
`Command + q` закроет окно Kolob Canyon 7 лет назад 0

5 ответов на вопрос

80
Amadan

Окно, отображаемое Terminal.app, является лишь интерфейсом для процесса, который вы выбираете для запуска внутри него - в вашем случае, оболочки Unix. Когда вы выходите из оболочки, Terminal.app по умолчанию не закрывает окно, поэтому у вас есть возможность проверить вывод любой команды, которую вы выполнили, после ее завершения.

Вы можете изменить свои настройки здесь

Настройки терминала -> Настройки -> Оболочка:

либо

  1. всегда закрывайте окно, каким бы ни был статус выхода оболочки
  2. закройте окно, если оболочка закрылась
  3. держать окно открытым (по умолчанию)

Кроме того, вы можете (почти) всегда закрывать окна в OSX с помощью Cmd-W, поэтому вам не нужна мышь, даже если она не закрывается автоматически.

Еще один совет: мне нравится нажимать Ctrl-D вместо ввода. Два ключа против пяти.

В Yosemite это: настройки -> профили -> оболочка -> «когда оболочка выходит» ... оболочка - это оболочка, выбранная вами в разделе «Общие» -> «При запуске» открыть ... cloudsurfin 9 лет назад 10
После выхода из оболочки можно ли запустить новую оболочку в том же окне? Если так, то как? Sodved 8 лет назад 0
@ Содвед: Я так не думаю, но могу ошибаться. Amadan 8 лет назад 0
Это не отвечает на заданный вопрос, так как не предлагает операции ** командной строки **. Chris Stratton 7 лет назад 0
18
Nisse Engström

Command+ Q-> закрывает приложение / процесс.

Command+ W-> закрывает окно / экземпляр

Это не отвечает на заданный вопрос, так как не предлагает операции командной строки. Chris Stratton 7 лет назад 0
9
Thomas.S

Да, есть. Например, вы можете использовать AppleScript для достижения этой цели:

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

Первое окно всегда является текущим активным окном. Это тот, который вы хотите закрыть.

Перед закрытием окна Терминал может спросить вас, действительно ли вы хотите закрыть окно. Это зависит от ваших настроек. Возможно, вы решили «закрыть окно, только если оболочка завершена корректно или другие процессы не выполняются отдельно от…». (Это может быть настройка по умолчанию.) В этом случае добавление & exitк команде закрывает окно немедленно и без запроса.

osascript -e 'tell application "Terminal" to close first window' & exit 
Это * почти * верно, но на самом деле "первое окно" не всегда является тем, которое запускает команду. Chris Stratton 7 лет назад 0
1
bran.io

I also suggest against the killall suggestion. As suggested modify the settings in your preferences to close window if shell exit was successful. If you're REALLY LAZY (like me), open up your bash profile and add an alias. I have mine set so all I have to do is type 'q'.

-2
Just Jake

Если вы хотите завершить само приложение из командной строки:

killall Terminal 
это считается вредным. Помимо того, что killall делает разные вещи в разных версиях Unix, нехорошо убивать приложение, вместо того чтобы просить его просто выйти. Florenz Kley 12 лет назад 4