在 OS X 中,当某个程序需要注意时,其底部的 Dock 图标会上下弹跳。在终端中,有时我会运行一长串命令,如下所示:
一个 && b && c
我想在命令末尾附加一条命令,这样当这些命令运行完毕时,终端图标就会上下跳动以提醒我。该怎么做呢?
答案1
弹跳期限可能正是你要找的。摘自网页:
BounceTerm 是 Mac OS X Terminal.app 的一个 SIMBL 插件,当触发铃声或哔声时,Dock 图标会弹起。如果您有一个长时间运行的进程,并且希望在进程完成后收到通知(当然,假设它会发出哔声),那么这个插件会很有用。
无需配置,只需打开 .dmg 文件,运行 Install,然后重新启动 Terminal.app。要卸载,只需从 .dmg 运行 Uninstall 即可。
如果你想确保插件正常工作,请尝试运行
while [ 1 ]; do echo -n '\a'; sleep 2; done
在您的 shell 中,将焦点放在另一个应用程序中的窗口上。您应该看到 Terminal.app 的停靠图标每两秒钟跳动一次。
因此对于您的情况:
a && b && c && while [ 1 ]; do echo -n '\a'; sleep 2; done
答案2
从 Mac OS X 10.7 Lion 开始,终端会响应 BEL(Control-G)弹出其应用程序 Dock 图标,并且徽章会显示“未读”铃声的数量,直到您查看相关终端†。如果标签栏可见,它还会在背景标签中显示铃声图标,直到您激活它们。
† 更具体地说:如果在铃声响起时终端应用程序处于后台,它会弹回 Dock 图标,并且显示自铃声响起后未激活的窗口和选项卡的铃声计数(无论应用程序作为一个整体是否已被激活)。
也可以看看终端蜂鸣(输出)和咆哮声。
答案3
正如其他人指出的那样,BounceTerm 不再需要。
但是,对我来说,echo -n 不起作用。为了让我的终端反弹,我需要回显-e。
以下是示例。将其粘贴到终端中,然后快速按 Cmd-TAB 离开以将焦点转移到其他应用程序:
sleep 2; echo -e "\a"
您应该会听到一声嘟嘟声,您的终端停靠图标会弹起,并且您应该会看到一个计数铃声数量的徽章。