在 OS X 中从命令行向通知中心发送警报

在 OS X 中向通知中心发送警报

使用名为 terminal-notifier 的优秀第三方工具,您可以直接从命令行向通知中心发布警报和消息。这有无数潜在的有效用途,但一个奇妙的用例与 在命令完成时口头宣布发送徽章警报,而是将通知发布到 OS X Mountain Lion 的通知中心。

安装 Terminal Notifier

假设您在 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 "你好,这是我的消息" -title "消息标题"

通知中心弹出警报,从命令行

在命令完成后发布消息很容易,只需附加终端通知程序即可:

ping -c 5 yahoo.com && terminal-notifier -message "已完成 ping yahoo" -title "ping"

这些发布非交互式通知,但深入挖掘您可以启动应用程序、执行终端命令以及打开 URL。

使通知具有交互性:打开 URL、应用程序和执行终端命令

不过更好的是 -open 和 -activate 命令,它们允许您指定 URL 或应用程序以在单击通知时激活。例如,这将在单击时打开 osxdaily.com:

terminal-notifier -message “去 OSXDaily.com,这是有史以来最好的网站!” -title "osxdaily.com" -open https://osxdaily.com

通知发布到通知中心,如果单击它将在默认网络浏览器中打开 osxdaily.com。

如果您单击通知,下一个示例将打开 TextEdit:

terminal-notifier -message "Time to braindump into TextEdit" -title "Braindump" -activate com.apple.TextEdit

如果通知与以下内容交互,您还可以执行终端命令:

terminal-notifier -message "Time to run your backups" -title "备份脚本" -execute backupscript

这只是几个例子,但显然有无限的用途。考虑到这有多么有用,我很惊讶 Apple 没有在 OS X 中包含执行此操作的方法,尽管这可能有一天会改变。同时享受 terminal-notifier,这是一个很棒的工具。