LINUX.ORG.RU

История изменений

Исправление wisedraco, (текущая версия) :

Вот это что такое [ $? = !0 ]?

ай, ну чтоб я знал - я там и != и == и -eq и -gt успел испробовать, но нифига толком так и не понял, кроме того что изменения есть / нет пинга в работе скрипта нет.

потом нашёл это:

Code:

#!/bin/bash
echo "Parameter $1"
echo "$?"
$SCHRODINGER/utilities/reagentprep -listfull | grep $1
echo "$?"

if [ $? == 1 ]then
echo "Error"
exit
fi
the if statement is evaluating the echo Condition, not the grep as intended.

try instead

$SCHRODINGER/utilities/reagentprep -listfull | grep $1

STATUS=$?
echo "$STATUS"

if [ $STATUS == 1 ]then
echo "Error"
exit
fi

переделал своё творение, и в финале в таком виде оно заработало правильно ( наконец-то! ):

while true; do
#    COUNT=$(find . -mmin -10 -type f | wc -l)
#    if [ $COUNT -eq 0 ]; then
# !=0 -eq -gt
    echo "script runtime, seconds: " $SECONDS
    ping -c3 $ping_ip >/dev/null
    STATUS=$?
    echo $STATUS
    if [ $STATUS -gt 0 ];then
	echo "Ping Fail - `date`"
	body=" Admin, we have problems on S2! last incoming files was: $ping_ip ,`date` "  ;
	#echo -e $body | mail -S smtp=192.168.100.1 -S from=info@mail.v  -s "Ping Warning on S2"   $address;
    else
	echo "Ping OK - `date`"
    fi

#echo "Ping OK - `date`"
sleep 6
done;


echo "SCRIPT ENDED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"


твой тоже проверил, работает отлично, гран мерси! будешь в риге, куплю пиво :) вообще то надо бы както в питер в этой жизни на мопедке сьездить, да визовый вопрос не особо нравится ( ну и плюс ваши дороги, которые вроде бы ещё хуже наших, и водятелы, которые по рассказам ещё больше наших-же ( которые тож совсем не фонтан) прямо спят и видят как бы какого мопедиста задавить :D

Исходная версия wisedraco, :

Вот это что такое [ $? = !0 ]?

ай, ну чтоб я знал - я там и != и == и -eq и -gt успел испробовать, но нифига толком так и не понял, кроме того что изменения есть / нет пинга в работе скрипта нет.

потом нашёл это:

Code: #!/bin/bash echo «Parameter $1» echo «$?» $SCHRODINGER/utilities/reagentprep -listfull | grep $1 echo «$?»

if [ $? == 1 ]then echo «Error» exit fi

the if statement is evaluating the echo Condition, not the grep as intended.

try instead

Code: $SCHRODINGER/utilities/reagentprep -listfull | grep $1

STATUS=$? echo «$STATUS»

if [ $STATUS == 1 ]then echo «Error» exit fi

переделал своё творение, и в финале в таком виде оно заработало правильно ( наконец-то! ):

while true; do
#    COUNT=$(find . -mmin -10 -type f | wc -l)
#    if [ $COUNT -eq 0 ]; then
# !=0 -eq -gt
    echo "script runtime, seconds: " $SECONDS
    ping -c3 $ping_ip >/dev/null
    STATUS=$?
    echo $STATUS
    if [ $STATUS -gt 0 ];then
	echo "Ping Fail - `date`"
	body=" Admin, we have problems on S2! last incoming files was: $ping_ip ,`date` "  ;
	#echo -e $body | mail -S smtp=192.168.100.1 -S from=info@mail.v  -s "Ping Warning on S2"   $address;
    else
	echo "Ping OK - `date`"
    fi

#echo "Ping OK - `date`"
sleep 6
done;


echo "SCRIPT ENDED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"


твой тоже проверил, работает отлично, гран мерси! будешь в риге, куплю пиво :) вообще то надо бы както в питер в этой жизни на мопедке сьездить, да визовый вопрос не особо нравится ( ну и плюс ваши дороги, которые вроде бы ещё хуже наших, и водятелы, которые по рассказам ещё больше наших-же ( которые тож совсем не фонтан) прямо спят и видят как бы какого мопедиста задавить :D