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.