在 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,这是一个很棒的工具。