Это код для моего 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, поскольку ему не нравится текущий метод.