为什么我的 Applescript 打开多个终端 windows?
Why is my Applescript opening multiple terminal windows?
我正在尝试编写一个脚本,它将在我的工作目录中打开 Sublime Text,cd 到我的 VM 文件夹并执行 "vagrant up",然后在 chrome.[=12 中打开我的站点目录=]
脚本有效,只是效果不佳。它会打开三个终端 windows,有时还会打开多个 Sublime windows。有什么想法或想法吗?另外,我将如何让 Chrome 在打开时自动创建的新选项卡中打开 URL 而不是创建第二个新选项卡?
tell application "Google Chrome"
activate
open location "http://codeup.dev"
end tell
tell application "Terminal"
activate
do script "subl ~/vagrant-lamp/sites/codeup.dev/public/"
do script "cd ~/vagrant-lamp/; vagrant up"
end tell
因为 do script
没有指定位置总是打开一个新的 window。
使用 in
参数
添加 window
或 tab
tell application "Terminal"
activate
do script "subl ~/vagrant-lamp/sites/codeup.dev/public/" in window 1
do script "cd ~/vagrant-lamp/; vagrant up" in window 1
end tell
我没有 Chrome 但我想有类似的术语。
这将防止在终端没有打开时发生错误 window。
tell application "Terminal"
if not (exists window 1) then reopen
activate
do script "subl ~/vagrant-lamp/sites/codeup.dev/public/" in window 1
do script "cd ~/vagrant-lamp/; vagrant up" in window 1
end tell
关于Chrome:如果将打开位置语句移动到一行,而之前没有打开Chrome windows,Chrome只会打开选项卡你传递给它:
tell application "Google Chrome" to open location "http://codeup.dev"
关于多终端windows,vadian 的回答是正确的。我想指出的是,有一种方法可以通过 AppleScript 运行 shell 脚本,而无需启动终端。这可能会有所帮助:do shell script
Here is Apple's documentation on it.
我正在尝试编写一个脚本,它将在我的工作目录中打开 Sublime Text,cd 到我的 VM 文件夹并执行 "vagrant up",然后在 chrome.[=12 中打开我的站点目录=]
脚本有效,只是效果不佳。它会打开三个终端 windows,有时还会打开多个 Sublime windows。有什么想法或想法吗?另外,我将如何让 Chrome 在打开时自动创建的新选项卡中打开 URL 而不是创建第二个新选项卡?
tell application "Google Chrome"
activate
open location "http://codeup.dev"
end tell
tell application "Terminal"
activate
do script "subl ~/vagrant-lamp/sites/codeup.dev/public/"
do script "cd ~/vagrant-lamp/; vagrant up"
end tell
因为 do script
没有指定位置总是打开一个新的 window。
使用 in
参数
window
或 tab
tell application "Terminal"
activate
do script "subl ~/vagrant-lamp/sites/codeup.dev/public/" in window 1
do script "cd ~/vagrant-lamp/; vagrant up" in window 1
end tell
我没有 Chrome 但我想有类似的术语。
这将防止在终端没有打开时发生错误 window。
tell application "Terminal"
if not (exists window 1) then reopen
activate
do script "subl ~/vagrant-lamp/sites/codeup.dev/public/" in window 1
do script "cd ~/vagrant-lamp/; vagrant up" in window 1
end tell
关于Chrome:如果将打开位置语句移动到一行,而之前没有打开Chrome windows,Chrome只会打开选项卡你传递给它:
tell application "Google Chrome" to open location "http://codeup.dev"
关于多终端windows,vadian 的回答是正确的。我想指出的是,有一种方法可以通过 AppleScript 运行 shell 脚本,而无需启动终端。这可能会有所帮助:do shell script
Here is Apple's documentation on it.