2016-01-22 67 views
1

我想寫一個腳本,將打開我的工作目錄中的崇高文本,cd到我的VM文件夾並執行「vagrant up」,然後在chrome中打開我的站點目錄。爲什麼我的Applescript打開多個終端窗口?

劇本的作品,只是不好。它打開三個終端窗口,有時還會有多個Sublime窗口。任何想法或想法?另外,如何讓Chrome在打開時自動創建的新選項卡中打開網址,而不是創建第二個新選項卡?

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 

回答

1

因爲do script沒有指定位置始終打開一個新窗口。
添加windowtabin參數

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,但我想有一個類似的術語。

+0

哇,我不能相信我忽略了!儘管如此,我仍然不確定Sublime Text發生了什麼。也許它是一個在重啓時打開窗口的設置。至於Chrome,我會在一個新問題中發佈該腳本的特定部分,並嘗試運氣。 – compostkicker

0

這將防止終端沒有打開的窗口時發生錯誤。

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 
+0

謝謝你的錯誤。如果終端沒有打開,我實際上從來沒有遇到與終端拋出錯誤的問題,但它很好。 – compostkicker

0

關於Chrome瀏覽器:如果您將開啓位置語句一條線,你之前有沒有打開打開Chrome瀏覽器窗口,Chrome只會打開您傳遞給它的標籤:

tell application "Google Chrome" to open location "http://codeup.dev" 

關於多個終端窗口,vadian的答案是正確的。我想指出的是,有一種方法可以在不啓動終端的情況下通過AppleScript運行shell腳本。這可能會有幫助:do shell scriptHere is Apple's documentation on it.

相關問題