Отправить оповещение в Центр уведомлений из командной строки в OS X
Оглавление:
- Установка уведомлений терминала
- Использование Terminal Notifier для публикации в Центре уведомлений
- Интерактивность уведомлений: открытие URL-адресов, приложений и выполнение команд терминала
Используя превосходный сторонний инструмент под названием terminal-notifier, вы можете публиковать оповещения и сообщения в Центре уведомлений прямо из командной строки. У этого есть множество потенциально допустимых применений, но один фантастический вариант использования — это устное объявление о завершении команды или отправка оповещения о значке, но вместо этого публикация уведомления в Центре уведомлений OS X Mountain Lion.
Установка уведомлений терминала
Предполагая, что у вас есть ruby на Mac, вы можете легко установить terminal-notifier с помощью gem:
sudo gem install terminal-notifier
Для тех, у кого нет ruby, вы можете скачать предварительно собранный бинарный файл с GitHub, но для запуска terminal-notifier вам нужно указать его на бинарный файл внутри пакета приложения следующим образом:
./terminal-notifier.app/Contents/MacOS/terminal-notifier
Если вы выберете последний путь, вам лучше всего создать псевдоним в bash_profile. Для целей этой статьи мы предполагаем, что вы установили его через ruby.
Использование Terminal Notifier для публикации в Центре уведомлений
После установки основная часть команды выглядит следующим образом:
"terminal-notifier -message Привет, это мое сообщение>"
Отправить сообщение после выполнения команды очень просто, просто добавьте терминал-уведомитель следующим образом:
"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 Время для мозгового сброса в TextEdit - title Braindump -activate com.apple.TextEdit "
Вы также можете выполнять команды терминала, если уведомление взаимодействует с:
"terminal-notifier -message Время запуска резервного копирования - title Backup Script -execute backupscript"
Это всего лишь несколько примеров, но очевидно, что у такой вещи есть бесконечное множество применений. Учитывая, насколько это полезно, я удивлен, что Apple не включила способ сделать это в OS X, хотя когда-нибудь это может измениться. А пока наслаждайтесь terminal-notifier, это отличный инструмент.