Olá Pessoal, Boa tarde!
Continuando meus estudos sobre SHELL e ER, fiz um pequeno programa sem
complexidade alguma.
#!/bin/bash
echo "Digite um número entre 1 e 9: "
read chute
num='[0-9]' #Ja tentei com \[0-9\]
if [[ $chute =~ $num ]]; then
echo "$chute é um numero valido"
else
echo "Tente Novamente"
fi
Eu queria que o SHELL verificasse o numero de acordo com o padrão da ER, pelo
que li até o momento em livros a
chamada de comparação do SHELL para ER é =~ .
Pelo que entendo neste caso eu poderia colocar somente o primeiro caracter com
um numero de 1 a 9 e no caso de
digitar qualquer numero acima de 9 ele retornasse a mensagem "Tente novamente".
Porém não é o que tem acontecido se digito qualquer numero acima de 9 ele
aceita e retorna a mensagem de que o
"Numero é valido" mesmo sendo 10 100 ou 999999.
Para qualquer outro character que não seja numero ele valida corretamente.
Minha duvida é se acabei usando algum parametro errado no SHELL.
Obrigado
--------------------------------------------------------------------------------------------------------------
Enviado por: Diogo Barros <address@hidden>
--------------------------------------------------------------------------------------------------------------