URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86541
[ Назад ]

Исходное сообщение
"помогите с переменными в шел скрипте"

Отправлено sad , 10-Сен-09 11:21 
Здравствуйте.

Я даже не знаю по каким словам делать поиск что бы гугл мне хоть что-то подсказал.
Ситуация такая. Есть скрипт, на данный моент он выглядит так:

/bin/ps ax | /usr/bin/grep Service.lax | /usr/bin/grep -v grep | /usr/bin/awk '{print $5}' > /tmp/cron-monitor.tmp

cat /tmp/cron-monitor.tmp | while read line; do
exit 2
done
if [ "$?" = "0" ] ; then
echo "empty. must to start. II"
/usr/local/etc/rc.d/service.sh start
fi

пробовал вариант без файла, но заставить работать не удалось поэтому остановился на этом варианте и хочу разобрать именно его. Суть скрипт в том что он запускается по крону и смотрит запущена ли программа. Если нет - тогда он ее запускает.

Теперь о проблеме. Скрипт сам по себе работает если я его запускаю руками. А вот из крона не работает. Причем ошибок никаких нет он просто не видит переменных. В данном случае $?
Чувствую что это как-то связано с enviroment или с профилем пользователя. Но как?

Подскажите пожалуйста.


Содержание

Сообщения в этом обсуждении
"помогите с переменными в шел скрипте"
Отправлено Slavaz , 10-Сен-09 11:49 
>Подскажите пожалуйста.

[ $(/usr/bin/pgrep 'Service.lax'|/usr/bin/wc -l) = 0 ] && {
  /usr/local/etc/rc.d/service.sh start
}


"помогите с переменными в шел скрипте"
Отправлено sad , 10-Сен-09 12:00 
>>Подскажите пожалуйста.
>
>[ $(/usr/bin/pgrep 'Service.lax'|/usr/bin/wc -l) = 0 ] && {
>  /usr/local/etc/rc.d/service.sh start
>}

мысль понял
сейчас перепишу.
спасибо.


"помогите с переменными в шел скрипте"
Отправлено sad , 10-Сен-09 11:57 
забыл упомянуть шел sh

если ставить все скобки то после выполнения выдает  Syntax error: end of file unexpected (expecting "}")


"помогите с переменными в шел скрипте"
Отправлено Slavaz , 10-Сен-09 12:00 
>забыл упомянуть шел sh
>
>если ставить все скобки то после выполнения выдает  Syntax error: end
>of file unexpected (expecting "}")

if test `/usr/bin/pgrep 'Service.lax'|/usr/bin/wc -l` = 0 ; then
  /usr/local/etc/rc.d/service.sh start
fi