Оператор While Do с пустым / пустым возвращением grep?

Это код для моего foobar.sh:

!#/bin/bash
while [ 1 ]
do
    pid=`ps -ef | grep "mylittleprogram" | grep -v grep | awk ' {print $2}'`
    echo $pid
    if [ "$pid"="" ]
    then
            echo "Process has ended lets get this show on the road..."
            exit
    else
            echo "Process has not ended yet"
    fi
    sleep 6
done

Я в основном выполняю цикл infinate который выполнит команду X после того, как отслеживаемый процесс закончится, но я получаю следующее сообщение, когда мой скрипт зацикливается:

./foobar.sh: line 7: [: missing `]'
Process has not ended yet

Есть ли способ заставить скрипт принять, что нулевая обратная связь вызовет мой оператор 'Then' и выполнит команду X, поскольку ему не нравится текущий метод.

5
задан bikerben 27 October 2011 в 21:48
поделиться