Pular para o conteúdo

Variável de numero inteiro ou float

Dica publicada em Shell Script / Variáveis
Jônatas Ramiro Goulat Jonatas_rg
Hits: 8.795 Categoria: Shell Script Subcategoria: Variáveis
  • Indicar
  • Impressora
  • Denunciar

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 :)


Nenhuma dica encontrada.

Usando variáveis para alterar arquivos com sed, *grep e outros

Variáveis compostas em shell script

Truques para tratamento de variáveis em shell script

Iniciando Script com o Sistema - Configuração no Debian Wheezy

Declarando constantes em shell scripts

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.