2013-09-22 97 views

回答

0

如果您沒有按照索引定位窗口,它會每次打開一個新窗口。

e.g,

tell application "Terminal" 
    activate 
    do script "ssh [email protected]" 
end tell 

或處理上剛打開現有的窗口。

tell application "System Events" 
    if (count (processes whose bundle identifier is "com.apple.Terminal")) is 0 then 
     tell application "Terminal" 
      activate 
      do script "ssh [email protected]" in window 0 
     end tell 
    else 
     tell application "Terminal" 
      do script "ssh [email protected]" 
      activate 
     end tell 
    end if 
end tell 

更多的想法在這裏:http://hintsforums.macworld.com/archive/index.php/t-68252.html

+0

噢,對不起,你是對的。但採用這種方法存在一個問題。如果應用程序根本沒有運行,那麼腳本將打開兩個窗口 - 一個是默認的,第二個命令將運行。如何告訴它打開一個窗口?我認爲這就是爲什麼我在原始腳本中提到'窗口1' – Pablo

+0

如果終端沒有運行(在10.7),它只會打開1,但是如果我離開終端時窗口打開,然後重新打開。 – adamh

+0

10.8如果我關閉了最後一個窗口,但沒有退出應用程序,腳本將打開1個窗口。但是,如果我關閉最後一個窗口並退出應用程序,腳本將打開2個窗口。我想你是指第一個案子。 – Pablo

2

這是清潔...

tell application "Terminal" 
    if not (exists window 1) then reopen 
    activate 
    do script "ssh [email protected]" in window 1 
end tell 
相關問題