【发布时间】:2011-03-15 00:32:43
【问题描述】:
这是一个有趣的问题:如果终端“忙”,则使用AppleScript method 在终端窗口中启动新命令会失败;更准确地说,它将打开一个新窗口但无法运行该命令。例如,尝试将这一行复制+粘贴到:
osascript -e 'tell application "Terminal" to do script "foo"'; osascript -e 'tell application "Terminal" to do script "bar"'; osascript -e 'tell application "Terminal" to do script "baz"';
当我运行它时(我在 Snow Leopard 上),我得到三个窗口:在第一个窗口中,命令 foo 按预期运行;但在另外两个中,我只是得到一个空提示。如果我刚刚粘贴了命令,我会在所有三个窗口中得到空提示;显然终端仍在忙于处理“粘贴”操作。
现在,AppleScript 可能不是执行此操作的最佳方式,但我真的想编写一个脚本,按顺序启动一堆终端窗口,并在每个窗口中运行一个命令。也许最好的方法是使用 bash 脚本。只要我可以为其创建别名,我就很高兴。那么如何做到这一点呢?
【问题讨论】:
标签: macos bash terminal applescript