Как запустить рычание через командную строку

У меня есть скрипт bash, который использует growlnotify для отправки уведомлений. Тем не менее, growlnotify не работает, если Growl еще не запущен, и не будет автоматически запускать Growl, если он в этом нуждается. Поэтому я хочу проверить, работает ли Growl, а затем запустить его, если это не так.
Я думаю сделать что-то вроде:

g=$(ps -e | grep Growl | grep -v grep)
if [ -z "$g" ]  # Growl isn't running
then
# (start Growl)
fi

Как мне запустить Growl через командную строку?

2 ответа

Решение

Обычно установщик Growl гарантирует, что пользователь, выполняющий установку, получает элемент Startup входа в систему, который запускает GrowlHelperApp.appДемон уведомлений для Growl. Приложение встроено в Growl PreferencePane, поэтому вы не можете гарантировать, где оно будет находиться; это может быть в /Library/PreferencePanes или же ~/Library/PreferencePanesв зависимости от того, как был установлен Growl. Если вы чувствуете, что не можете доверять пользователю правильные действия, вы можете вручную запустить вспомогательное приложение из командной строки независимо от местоположения, используя его идентификатор пакета:

open -b com.Growl.GrowlHelperApp
pgrep growlnotify || growlnotify <options> &
Другие вопросы по тегам