У меня есть скрипт 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 с помощью командной строки?
Вы можете сократить ваш первый две строки: 'if! ps -e | grep [G] rowl>/dev/null 2> & 1' –
спасибо. но вы имели в виду «если! ps -e | grep [Gg] rowl>/dev/null 2> & 1'? во всяком случае, процесс, который мы ищем, всегда будет иметь Growl.GrowlHelperApp в имени, поэтому вы можете просто grep для верхнего регистра Growl. – anoda9
Нет, я не хотел проверять любой случай, так как я знал, что процесс, который вы ищете, начинается с капитала G. Выполнение этого так, как я показал, - это трюк, чтобы избежать необходимости выполнять 'grep -v' с' ps'. –