由於您使用的是Mac,我假設您已經安裝了Ruby。
你在說什麼聽起來像是你想要一個線程睡30秒,然後在後臺執行一個腳本。
您應該將… do some stuff
放在名爲dostuff.scpt的腳本中,並將其放置在桌面上。
然後改變當前腳本如下代碼:
using terms from application "iChat"
on logout finished
do shell script "ruby -e 'Thread.new {`sleep 30 && osascript ~/Desktop/dostuff.scpt`}' &> /dev/null"
end logout finished
end using terms from
A碼細分: 做shell腳本(執行命令行的東西)
紅寶石-e(從執行Ruby代碼命令行)
Thread.new(使一個新的線程在後臺隱藏)
'(一切都在BA cktick是紅寶石shell命令)
osascript(執行命令行一個AppleScript)
〜/桌面/ dostuff.scpt(點路徑到您的文件,波浪替代你的主目錄,我假設你把dostuff.scpt在桌面上)
&>的/ dev/null的(Tells Applescript to not look for output and immediately go to the next code line)
我嘗試沒有紅寶石這樣做,但是,我沒有運氣。讓我知道這是否適合你!
是的,這是伎倆......謝謝! – 2010-01-26 13:30:18
'ruby'位不是必需的;直接調用'osascript'並在'dostuff.scpt'文件的頂部放置'delay 30'命令。然而,你需要在shell腳本的末尾加上另外一個'&'來分離'osascript'進程,例如:'do shell script「osascript〜/ dostuff.scpt&>/dev/null&」 ' – has 2010-01-26 20:15:30