在 OS X 中从命令行向通知中心发送警报
目录:
使用名为terminal-notifier 的出色第三方工具,您可以直接从命令行向通知中心发布警报和消息。这有无数潜在的有效用途,但一个奇妙的用例是在命令完成时口头宣布或发送徽章警报,而不是将通知发布到 OS X Mountain Lion 的通知中心。
安装终端通知程序
假设你在Mac上有ruby,你可以使用gem轻松安装terminal-notifier:
sudo gem install terminal-notifier
对于那些没有ruby的人,你可以从GitHub下载一个预构建的二进制文件,但是要运行终端通知程序,你必须将它指向应用程序包中的二进制文件,如下所示:
./terminal-notifier.app/Contents/MacOS/terminal-notifier
如果你选择后者,你最好在bash_profile 中创建一个别名。出于本文的目的,我们假设您是通过 ruby 安装它的。
使用终端通知器发布到通知中心
安装完成后,最基本的核心使用命令如下:
"terminal-notifier -message 你好,这是我的消息>"
在命令完成后发布消息很容易,只需附加terminal-notifier:
"ping -c 5 yahoo.com && terminal-notifier -message 已完成ping yahoo>"
这些发布非交互式通知,但深入挖掘你可以启动应用程序、执行终端命令和打开URL。
使通知交互:打开URL、应用程序和执行终端命令
更好的是 -open 和 -activate 命令,它们允许您指定 URL 或应用程序以在单击通知时激活。例如,这将在单击时打开 osxdaily.com:
"terminal-notifier -message 访问OSXDaily.com,这是有史以来最好的网站!>"
通知发布到通知中心,如果点击它将在默认网络浏览器中打开osxdaily.com。
如果您单击通知,下一个示例将打开TextEdit:
"terminal-notifier -message Braindump 到 TextEdit 的时间 - title Braindump -activate com.apple.TextEdit "
如果通知与以下内容交互,您还可以执行终端命令:
"terminal-notifier -message 运行备份的时间- title Backup Script -execute backupscript"
这只是几个例子,但显然有无限的用途。考虑到这有多么有用,我很惊讶 Apple 没有在 OS X 中包含执行此操作的方法,尽管这可能有一天会改变。同时享受terminal-notifier,它是一个很棒的工具。