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.791 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

Como lidar com variáveis retornadas pelo Expect - removendo CR do fim de linha

Atendimento ou suporte remoto em estações de trabalho via VNC

Operações matemáticas diretamente pelo bash

Hora no prompt do terminal

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.