1
tell application "Terminal"
activate
if windows is {} then reopen
do script "ssh [email protected]" in window 1
end tell
我怎樣才能知道蘋果的劇本,如果有打開的窗口,打開新窗口爲好,因爲它會破壞現有的。AppleScript的失敗在新窗口中打開應用程序
tell application "Terminal"
activate
if windows is {} then reopen
do script "ssh [email protected]" in window 1
end tell
我怎樣才能知道蘋果的劇本,如果有打開的窗口,打開新窗口爲好,因爲它會破壞現有的。AppleScript的失敗在新窗口中打開應用程序
如果您沒有按照索引定位窗口,它會每次打開一個新窗口。
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
這是清潔...
tell application "Terminal"
if not (exists window 1) then reopen
activate
do script "ssh [email protected]" in window 1
end tell
噢,對不起,你是對的。但採用這種方法存在一個問題。如果應用程序根本沒有運行,那麼腳本將打開兩個窗口 - 一個是默認的,第二個命令將運行。如何告訴它打開一個窗口?我認爲這就是爲什麼我在原始腳本中提到'窗口1' – Pablo
如果終端沒有運行(在10.7),它只會打開1,但是如果我離開終端時窗口打開,然後重新打開。 – adamh
10.8如果我關閉了最後一個窗口,但沒有退出應用程序,腳本將打開1個窗口。但是,如果我關閉最後一個窗口並退出應用程序,腳本將打開2個窗口。我想你是指第一個案子。 – Pablo