[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] ER no Shell
From: |
Herbert Fortes |
Subject: |
Re: [shell-script] ER no Shell |
Date: |
Thu, 14 Jul 2016 16:49:33 -0300 |
Olá,
Em Qui, 2016-07-14 às 19:07 +0000, Diogo Barros address@hidden [shell-script]
escreveu:
> 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.
Pitaco.
A expressão regular casa com números entre
0 e 9.
10 tem 0 então corresponde.
abraço,
-- Herbert Parentes Fortes Neto (hpfn)