2013-03-11 3 views
0

Я пытаюсь сравнить 2 числа, что не так в приведенном ниже коде?Shell сравнить номер

filesize=$(stat -c '%s' ${FILENAME}) 

    if [ $filesize -gt 12 ] ; then 
     echo "Yes bigger "; 
    fi 

У меня нет ошибок, но я никогда не получаю «Да больше».

+0

Какое сообщение об ошибке ...? –

+0

Хорошо работает для меня. Какую оболочку вы используете? – Edu

+0

Работает для меня (RHEL6.1,/bin/bash). Возможно, ваша первая команда не то, что вы ожидаете. Правильно ли установлен FILENAME? Может быть $ filesize <= 12? –

ответ

0

Получил решение. Я сравнивал «filesize» перед сравнением.

filesize=$(stat -c '%s' ${FILENAME}) 

if [ $filesize -gt '12' ] ; then 
    echo "Yes bigger "; 
fi 
0

Просто для полноты картины, это сказал бы вам, что случилось:

filesize=$(stat -c '%s' ${FILENAME}) 

if [ $filesize -gt 12 ] 
then 
    echo "bigger" 
elif [ $filesize -lt 12 ] 
then 
    echo "smaller" 
else 
    echo "equal" 
fi 

И: Это может наступить случай, когда важно который оболочки вы используете. Поэтому было бы полезно получить эту информацию в вашем вопросе.

Смежные вопросы