这是一个有趣的问题:如果终端“忙”,使用
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脚本.只要我能为它创建一个别名,我很高兴.那怎么做?
最佳答案 你正在运行的实际脚本是什么
我修改了你的代码来测试它
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"';
这似乎工作正常