我有一个运行Apple脚本的shell脚本。 applescript是从终端执行的,我希望终端在完成后关闭。
在我的shell脚本中,我用这一行执行我的AppleScript。它打开一个终端,运行,然后终端就在那里,即使苹果已完成。我有其他终端打开,我一直在使用,所以我不想关闭所有这些,只是那个。
osascript -e 'Tell application "Terminal" to do script "osascript ~/Scripts/reset_simulator.applescript"'
由于
答案 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干净地退出则关闭”。