执行后退出终端

时间:2014-09-10 19:10:30

标签: macos shell terminal applescript

我有一个运行Apple脚本的shell脚本。 applescript是从终端执行的,我希望终端在完成后关闭。

在我的shell脚本中,我用这一行执行我的AppleScript。它打开一个终端,运行,然后终端就在那里,即使苹果已完成。我有其他终端打开,我一直在使用,所以我不想关闭所有这些,只是那个。

 osascript -e 'Tell application "Terminal" to do script "osascript ~/Scripts/reset_simulator.applescript"'

由于

2 个答案:

答案 0 :(得分:3)

shell脚本中,执行

osascript -e 'Tell application "Terminal" to do script "osascript ~/Scripts/reset_simulator.applescript"'

真正打开一个新的Terminal.app窗口。

您有什么特别的理由打开一个新的终端窗口吗?为什么不运行

osascript ~/Scripts/reset_simulator.applescript

来自shell脚本和当前窗口。

但如果你想要这样的事情(听起来很奇怪)总是可以使用下一个:

osascript -e 'Tell application "Terminal" to do script "osascript ~/Scripts/reset_simulator.applescript;exit"'
#note the "exit" here ---------------------------------------------------------------------------------^^^^^

将首选项更改为"关闭窗口"当shell退出时。

阅读上面的评论,听起来比你想要在"背景"中运行一些AppleScript。

所以你可以做下一个:

a。)来自shell脚本

osascript ~/Scripts/reset_simulator.applescript &

2。)如果你还想打开另一个终端窗口

osascript -e 'Tell application "Terminal" to do script "osascript ~/Scripts/reset_simulator.applescript&exit"'
#note the & here --------------------------------------------------------------------------------------^

答案 1 :(得分:1)

在终端设置中,将“Shell->当shell退出时”下的设置更改为“如果shell干净地退出则关闭”。

Settings