Поскольку вы используете 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
Кодовая разбивка:
Сценарий do shell (выполняет что-то из командной строки)
ruby -e (выполняет код ruby из командной строки)
Thread.new (создает новый поток для скрытия в фоновом режиме)
`(все в обратном кавычке является командой оболочки в ruby)
osascript (выполняет яблочный скрипт из командной строки)
~ / Desktop / dostuff.scpt (указывает путь к вашему файлу, тильда заменяет ваш домашний каталог, и я предполагаю, что вы положили dostuff.scpt на рабочий стол)
&> / dev / null ( Говорит Applescript не искать вывод и немедленно переходить к следующей строке кода )
Я пытался сделать это без Руби, но мне не повезло. Дайте мне знать, если это работает для вас!