这是一个有趣的问题:如果终端“忙”,使用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脚本。只要我能为它创建一个别名,我很高兴。那怎么做呢?
答案 0 :(得分:2)
您正在运行的实际脚本是什么
我修改了你的代码以便测试它
osascript -e 'tell application "Terminal" to do script "cd Desktop"'; osascript -e 'tell application "Terminal" to do script "cd .."'; osascript -e 'tell application "Terminal" to do script "ls"';
这似乎工作正常