Senden Sie eine Benachrichtigung an die Benachrichtigungszentrale über die Befehlszeile in OS X

Mit einem hervorragenden Tool von Drittanbietern namens terminal-notifier können Sie Warnungen und Meldungen direkt in der Befehlszeile an die Notification Center senden. Dies hat eine Vielzahl von potenziell gültigen Verwendungen, aber ein fantastischer Anwendungsfall besteht darin, dass Sie verbal ankündigen, wenn ein Befehl ausgeführt wurde, oder eine Warnmeldung senden, aber stattdessen die Benachrichtigung an das Benachrichtigungscenter von OS X Mountain Lion senden.

Terminal-Notifier installieren

Angenommen, Sie haben Ruby auf dem Mac, können Sie einfach terminal-notifier mit gem installieren:

sudo gem install terminal-notifier

Für diejenigen ohne Ruby können Sie eine vordefinierte Binärdatei von GitHub herunterladen, aber um terminal-notifier auszuführen, müssen Sie sie wie folgt auf die Binärdatei im App-Bundle verweisen:

./terminal-notifier.app/Contents/MacOS/terminal-notifier

Wenn Sie die letztere Route wählen, erstellen Sie am besten einen Alias ​​in bash_profile. Für den Zweck dieses Artikels gehen wir davon aus, dass Sie es über Ruby installiert haben.

Verwenden von Terminal Notifier zum Senden an Notification Center

Nach der Installation wird der Befehl wie folgt verwendet:

terminal-notifier -message "Hello, this is my message" -title "Message Title"

Das Versenden einer Nachricht nach Abschluss eines Befehls ist einfach, einfach an den terminal-notifier anhängen:

ping -c 5 yahoo.com && terminal-notifier -message "Finished pinging yahoo" -title "ping"

Diese posten eine nicht interaktive Benachrichtigung, aber wenn Sie tiefer graben, können Sie Anwendungen starten, Terminalbefehle ausführen und auch URLs öffnen.

Benachrichtigungen interaktiv gestalten: URLs, Anwendungen öffnen und Terminalbefehle ausführen

Noch besser sind jedoch die Befehle -open und -activate, mit denen Sie entweder eine URL oder eine Anwendung angeben können, die beim Klicken auf die Benachrichtigung aktiviert werden soll. Zum Beispiel öffnet dies osxdaily.com, wenn Sie darauf klicken:

terminal-notifier -message "Go to OSXDaily.com, it's the best website ever!" -title "osxdaily.com" -open http://osxdaily.com

Die Benachrichtigung wird an die Benachrichtigungszentrale gesendet. Wenn sie darauf geklickt wird, wird osxdaily.com im Standard-Webbrowser geöffnet.

Das nächste Beispiel öffnet TextEdit, wenn Sie auf die Benachrichtigung klicken:

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

Sie können Terminalbefehle auch ausführen, wenn die Benachrichtigung interagiert mit:

terminal-notifier -message "Time to run your backups" -title "Backup Script" -execute backupscript

Das sind nur ein paar Beispiele, aber es gibt offensichtlich unendliche Verwendungen für so etwas. Wenn man bedenkt, wie nützlich das ist, war ich überrascht, dass Apple keine Möglichkeit einführte, dies in OS X zu tun, obwohl sich das irgendwann ändern könnte. In der Zwischenzeit genießen Terminal-Notifier, es ist ein großartiges Werkzeug.