Testar se variável é numérica

Publicado por DAVISON MARCEL PASQUALINI 30/03/2009

[ Hits: 20.453 ]

Download num




Tenho encontrado muitas vezes a pergunta como verificar se uma variável é ou não numérica.

Pois vai aí um script bem simples, que valida inclusive o + e -.

  



Esconder código-fonte

if [[ $1 = ?(+|-)+([0-9]) ]] ; then 
echo "numerico"
else
echo "nao numerico"
fi

Scripts recomendados

Abrindo e Fechando a Gaveta do CD-Rom de Forma Interativa

Adicionar sites para serem bloqueados pelo squid

Atualizando o banco de dados do ClamAV sem freshclam

Matrix - Terminal Comunication

Menu tarefas com SSH


  

Comentários
[1] Comentário enviado por pedroarthur.jedi em 31/03/2009 - 18:10h

ficou interessante...

Sempre fiz da seguinte meneira:

[ $var -gt 0 ] 2> /dev/null
if [ $? > 1 ]
then
echo n
else
echo s
fi

[2] Comentário enviado por /bin/laden em 30/04/2009 - 02:38h

Aqui deu erro! Tive que habilitar a opção 'extended glob' para que o teste funcionasse...

==============
shopt -s extglob

if [[ $1 = ?(+|-)+([0-9]) ]] ; then

echo "numerico"

else

echo "nao numerico"

fi
==============

[3] Comentário enviado por SMarcell em 04/03/2010 - 13:29h

No zsh é bem mais simples =)

if [[ $1 == <-> ]]
then
print Numerico
else
print Nao numerico
fi



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts