Як закрити термінал в OSX з командного рядка?


Відповіді:


87

Вікно, що відображається Terminal.app, - це лише передумови для процесу, який ви вирішите запустити всередині нього - у вашому випадку оболонки Unix. Коли ви виходите з оболонки, Terminal.app не зачиняє вікно за замовчуванням, тому у вас є можливість перевірити вихід з будь-якої команди, яку ви виконували, після її завершення.

Ви можете змінити свої налаштування тут

Налаштування терміналу -> Налаштування -> Оболонка:

до будь-якого

  1. завжди закривайте вікно, незалежно від стану виходу оболонки
  2. закрийте вікно, якщо оболонка вийшла чисто
  3. тримати вікно відкритим (за замовчуванням)

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

Ще одна підказка: мені подобається натискання Ctrl-D замість того, щоб набрати вихід. Дві клавіші проти п'яти.


11
У Yosemite це: уподобання -> профілі -> оболонка -> "коли оболонка виходить" ... Оболонка є залежно від обраної оболонки, яку ви вибрали в загальному випадку - при запуску відкрито ...
cloudsurfin

Після виходу оболонки, чи можна запустити нову оболонку в тому ж вікні? Якщо так, то як?
Sodved

@Sodved: Я не думаю, що це так, але я можу помилитися.
Амадан

Це не відповідає на запитання, яке було задано, оскільки не пропонує операції з командним рядком .
Кріс Страттон

@ChrisStratton Ви маєте рацію , що вона безпосередньо не відповісти поставлено питання, але це дійсно полегшить використання exitкоманди , які OP використовував спочатку.
jdersen

21

Command+ Q-> закриває додаток / процес.

Command+ W-> закриває вікно / екземпляр


OP запитує метод закрити вікно терміналу "без використання миші".
Джош Хабдас

10

Так, є. Наприклад, ви можете використовувати AppleScript для цього:

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

Перше вікно - це завжди активне вікно. Це те, що ви хочете закрити.

Перш ніж закрити вікно, Термінал може запитати вас, чи дійсно ви хочете закрити вікно. Це залежить від ваших налаштувань. Можливо, ви вирішили "закрити вікно, лише якщо оболонка вийшла чисто чи немає інших процесів, крім ...". (Це може бути налаштування за замовчуванням.) У цьому випадку додавання & exitдо команди негайно закриває вікно та не запитує.

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

Це майже правильно, але насправді «перше вікно» - це не завжди те, що виконує команду.
Кріс Страттон

Ця методика працює добре після того, openяк її покликають додати новий профіль терміналу.
Джош Хабдас

2

Власне, для цієї вимоги вам слід встановити деякий конфігурацію свого терміналу. дотримуйтесь інструкцій нижче, і ви закриєте свій Термінал лише exitкомандою.

Коли Термінал увімкнений, натисніть +, ,щоб відкрити вікно налаштування. тоді ви побачите нижче екран:

введіть тут опис зображення

Потім натисніть на вкладку оболонки, і ви побачите нижче екран:

введіть тут опис зображення

Тепер виберіть Close if the shell exited cleanlyдля, коли оболонка виходить .

Ваш Термінал готовий до виходу просто за допомогою exitкоманди.


1

Я також заперечую проти пропозиції килла. Як пропонується змінити налаштування у своїх налаштуваннях, щоб закрити вікно, якщо вихід із оболонки був успішним. Якщо ви дійсно ЛЕГИЙ (як я), відкрийте свій баш-профіль і додайте псевдонім. У мене є мій набір, тому все, що мені потрібно зробити, це тип 'q'.


Дуп killallвідповіді.
Джош Хабдас

-1

Якщо ви хочете закрити саму програму з командного рядка:

killall Terminal

4
що вважається шкідливим. Крім того, що killall робить різні речі в різних версіях Unix, не приємно вбивати додаток, а не просити його просто вийти.
Флоренц Клей

дуже хороше рішення. Нам просто потрібно вийти з терміналу, щоб не було запитань !! найкраща відповідь.
Мехдіко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.