8

终端完成命令时有没有办法得到通知?

-> 我运行另一个脚本(不是我的!),当这个脚本完成时下载数据我想退出终端并用这些数据做其他事情。

编辑:
我可能没有正确问...

例子:


tell application "Terminal"
   keystroke "php downloadscript.php"
   keystroke return
end tell

if (downloadFinished) -- do stuff else -- wait till finished

编辑2: 太棒了!谢谢!像这样工作:


tell application "Terminal"
    set frontWindow to window 1
    repeat until busy of frontWindow is false
        delay 1
    end repeat
    #display dialog "finished"
end tell
问候哈奇

4

1 回答 1

6

当标签打印\ a时,终端的码头图标开始弹跳,并且标签不集中或终端不是最前:

sleep 5; printf '\a'

你也可以运行类似afplay /System/Library/Sounds/Blow.aiff. 或使用终端通知器:

sudo gem install terminal-notifier
terminal-notifier -message ''

您可以通过检查选项卡的忙属性等到程序完成运行:

tell application "Terminal"
    set w to do script "sleep 5"
    repeat
        delay 1
        if not busy of w then exit repeat
    end repeat
end tell
于 2013-04-29T07:01:14.390 回答