如何从命令行关闭OSX中的终端?


Answers:


87

Terminal.app显示的窗口只是您选择在其中运行的进程的前端-在您的情况下是Unix shell。退出外壳程序时,Terminal.app默认情况下不会关闭窗口,因此您可以在完成后检查运行的任何命令的输出。

您可以在此处更改首选项

终端首选项->设置-> Shell:

  1. 无论shell的退出状态是什么,总是关闭窗口
  2. 如果外壳干净退出,则关闭窗口
  3. 保持窗口打开(默认)

除此之外,您可以(几乎)始终使用Cmd-W关闭OSX中的窗口,因此即使鼠标没有自动关闭也不需要鼠标。

另一个提示:我喜欢按Ctrl-D而不是键入exit。两把钥匙和五个钥匙。


11
在优胜美地,它是:首选项->配置文件->外壳->“当外壳退出时” ...外壳是您在“
常规”中

退出外壳后,是否可以在同一窗口中启动新的外壳?如果是这样,怎么办?
草皮'16

@Sodved:我认为不是,但是可能是错误的。
Amadan'7

这不会回答所提出的问题,因为它不建议使用命令行操作。
克里斯·斯特拉顿

@ChrisStratton您是正确的,它不会直接回答所问的问题,但确实可以方便使用exitOP最初使用的命令。
jdersen


10

就在这里。例如,您可以使用AppleScript来实现它:

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

第一个窗口始终是当前活动的窗口。那就是您要关闭的那个。

在关闭窗口之前,终端可能会询问您是否确实要关闭窗口。这取决于您的设置。您可能已选择“仅在外壳干净退出或没有其他进程运行时关闭窗口”。(这可能是默认设置。)在这种情况下,添加& exit到命令将立即关闭窗口,而无需询问。

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

几乎是正确的,但实际上“第一个窗口” 并不总是运行该命令的窗口。
克里斯·斯特拉顿

open调用添加新的终端配置文件后,此技术效果很好。
Josh Habdas

2

实际上,对于此要求,您应该为终端设置一些配置。请按照以下说明操作,您将仅用exit命令关闭终端。

终端启动后,按+ ,打开首选项窗口。然后您将看到以下屏幕:

在此处输入图片说明

然后按shell标签,您将看到以下屏幕:

在此处输入图片说明

现在,选择Close if the shell exited cleanly当外壳退出时”

您的终端仅需使用exit命令即可退出。


1

我还建议反对killall的建议。如建议的那样,如果成功退出外壳,请修改首选项中的设置以关闭窗口。如果您真的很懒(像我一样),请打开bash个人资料并添加别名。我已经设置好了,所以我所要做的就是键入“ q”。


重复的killall答案。
Josh Habdas

-1

如果要从命令行终止应用程序本身,请执行以下操作:

killall Terminal

4
被认为是有害的。除了killall在不同的Unix版本上做不同的事情之外,杀死一个应用程序而不是要求它退出是不好的。
Florenz Kley

非常好的解决方案。我们只需要退出终端就可以了!最佳答案。
Mehdico
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.