在Mac OS X上,在终端脚本结束后避免出现[处理完成]提示


32

在我的文本编辑器中,我通过调用以下命令绑定了快捷键来部署代码

/usr/bin/open /Users/blahblah/run_deploy

该部署脚本将我的代码上传到服务器等。我使用“打开”,以便在出现任何错误时在新的终端窗口中看到输出。非常方便,但是最后它使终端窗口打开,并显示文本“ [处理完成]”。

有什么方法可以跳过此步骤,而是自动关闭窗口吗?

终端程序完成


1
假设您已将Terminal设置为在外壳退出时关闭窗口,这听起来像是Terminal问题。您是否尝试过从“首com.apple.Terminal.plist选项”文件夹中删除首选项文件,并尝试再次进行设置?
Chealion

你还有这个问题吗?
丹尼尔·贝克

Answers:


52

在终端首选项,在配置文件窗格中选择您使用的(应该说“默认”下,它的名字)的文件,选择子窗格壳牌和变化« 壳退出时: »到« 关闭,如果壳退出干净 »。

它不会隐藏[Process completed]消息,但是如果退出代码成功,则会关闭窗口。


由于某些原因,我无法在该终端窗口中更改设置。如果我在另一个终端窗口中更改了它们并“默认使用”,则它们仍未在新的终端窗口中使用。这是新终端窗口的外观:i.imgur.com/u3tk4.png
Bemmu 2010年

首先要使测试更快运行,请执行以下操作:(echo 'say hello' > test; chmod +x test它将创建可执行文件并打个招呼),open test在finder中运行或双击该文件将默认在终端下运行它。在您的屏幕截图中,没有选择任何方案(不知道如何,我不能取消选择所有方案),因此选择“基本”,因为它标记为“默认”,并设置关闭设置,然后尝试运行脚本。
TIG

谢谢,但是那也不起作用:i.imgur.com/cCo49.png
Bemmu 2010年

您使用哪个操作系统版本(不知道它是否可以关联,我使用10.6.4)?也许这是由于未读邮件?尝试使用mail它来阅读。登出可能有问题吗?您有~/.bash_logout文件吗(如果是),里面有什么?尝试运行bash -c exit && echo 'ok'-您应该看到“确定”,也请尝试仅exit在新的shell中运行-它应该关闭窗口。您是否使用窗口组? i.imgur.com/thPNV.png
TIG

1
您可以在脚本的末尾加上“ killall Terminal”命令吗?我知道无论如何都会关闭窗口,但是您至少可以观察脚本运行过程中发生了什么(以防万一,您也可以将输出推送到日志中)。
jrc03c

0

通过修复权限 Disk utility应用程序为我解决了问题。

我一直在Console应用程序中看到错误:

20/08/2015 01:17:42.318 login[3291]: in pam_sm_open_session(): Unable to write the utmp record.
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.