LINUX.ORG.RU

bash проверка параметра...


0

0

Как в bash (в if) узнать является ли входящий параметр числом от 0 до 100 включительно или нет. Входящий параметр может принимать любые значения включая и символьные.

Спасибо.

anonymous

>Входящий параметр может принимать любые значения включая и символьные.

Прошу прощения, сразу не "врубился". 

if [ -n "$PARAM" ] && ! echo $PARAM|grep -v '[^0-9]'>/dev/null 2>&1;     then
   if [ $PARAM -ge 0 -a $PARAM -le 100 ]; then
      echo True
   else
      echo False
   fi
else
   echo False
fi

kosmonavt
()
Ответ на: комментарий от kosmonavt

Вот именно из-за этого (Входящий параметр может принимать любые значения включая и символьные.) возник такой вопрос.

Спасибо.

anonymous
()

verify_numeric()
{
    expr $1 + 0 > /dev/null 2> /dev/null
}

if verify_numeric $PARAM; then
    if test $PARAM -ge 0 -a $PARAM -le 100; then
        echo TRUE
    else
        echo FALSE
    fi
else
    echo FALSE
fi

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.