как запустить рычание через командную строку - PullRequest
10 голосов
/ 02 апреля 2010

У меня есть скрипт 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 ]

11 голосов
/ 02 апреля 2010

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

open -b com.Growl.GrowlHelperApp
0 голосов
/ 02 апреля 2010
pgrep growlnotify || growlnotify <options> &
...