>#!/bin/sh
>cat run.pid| grep -v '^ *#'| while read text; do
>if [ $text = "UP" ];then
>echo "yes"
>else
>echo "no"
>fi
>done Можно проще:
if fgrep -qs 'UP' run.pid; then
echo 'yes'
else
echo 'no'
fi
>но получаеться что если перед UP поставить пробел то скрипт не отрабатывает
>или если несколько пробелов и завершаеться такой вот ерундой
>./to.sh: test: argument expected
Потому что в этом случае $text является пустым и ваш if выглядит так:
if [ = "UP" ];then
что неверно. Нужно взять $text в кавычки:
if [ "$text" = "UP" ];then
Советую привыкать "кавычить" переменные.