Здравствуйте.
Такая вот проблема:
Есть сценарий, в котором условие сравнивающее два числа между собой работает В ЭТОМ СЦЕНАРИИ наоборот, а из командной строки - правильно.
Не могу найти проблему.
Сценарий:
#! /bin/sh
# untilmonit
# Получаем столбец со значениями процентов и удаляем знак % из df
LOOK_OUT=`df | grep /dev/sda5 | awk ' {print $5}' | sed 's/%//g'`
echo $LOOK_OUT
until
[ "$LOOK_OUT" -gt "90" ] # сравнение (-gt <первое число больше второго> и -lt <первое число меньше второго>) почему-то работает наоборот??? из командной строки работает правильно???
#[ $LOOK_OUT -gt 90 ]
#test $LOOK_OUT -gt 90
do
echo "Диск файловой системы sda5 почти полный" #| mail root
exit 0
done
Обратите внимание, что я в сценарии по-разному пытался задавать условие, но результат тот же.
Результат выполнения сценария:
mix@bigdesk:/media/sda5/work/loop/until$ ./u*m*
66
Логи файловой системы (/logs) почти полны
66 меньше 90, значит сообщение "Логи файловой системы (/logs) почти полны" не должно появиться.
Спасибо за помощь.