Variável de numero inteiro ou float

Publicado por Jônatas Ramiro Goulat em 24/08/2011

[ Hits: 8.005 ]

 


Variável de numero inteiro ou float



Quem nunca fez um script que esperava um numero e ter problemas com caracteres no meio? Enfim, você espera um "1024" e de repente vem um "102r4"

Uma forma fácil de resolver é validar a variável no momento da leitura :

until echo $escolha | grep -E '^[0-9]+$'
do
   read escolha
done
echo $escolha

Se quiser , também é possível ler variáveis no estilo float, ou seja, com um ponto no meio.

Exemplo: 3.141596

until echo $escolha | grep -E '^[0-9]+\.?[0-9]+$'
do
   read escolha
done
echo $escolha

Ou talvez seja preciso definir uma quantidade de casas, por exemplo: uma dezena.

echo dezena

until echo $escolha | grep -E '^[0-9]{2}$'
do
   read escolha
done
echo $escolha

Existe uma enorme quantidade de regras que podem ser criadas. Só é preciso um pouquinho de conhecimento de expressões regulares e ser feliz :)


Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Site para montar regras de iptables

Site com várias dicas de ajuda para shell script

Operações matemáticas diretamente pelo bash

DictConv: Converta dicionários do Babylon para o StarDict

Exportar variáveis de um script no mesmo sub-shell

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts