Вместо туманного сопоставления, предоставляемого:
pid=`ps -ef | grep "mylittleprogram" | grep -v grep | awk ' {print $2}'`
... и синтаксического архаического обратного удара, рассмотрите это, которое точно соответствует базовому имени процесса и создает выходной формат по вашему выбору (здесь процессpid, если он существует):
pid=$(ps -C mylittleprogram -opid=)
Затем, как уже отмечалось, просто проверьте пустое значение:
[ -z "${pid" ] && echo "no process" || echo "I live as $pid"
Знак равенства после имени выходного элемента подавляет заголовок, который вы бынормально получается.Manpages твой друг.