shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] ER no Shell


From: Diogo Barros
Subject: Re: [shell-script] ER no Shell
Date: Fri, 15 Jul 2016 01:12:59 +0000 (UTC)

Obrigado Pessoal.
Vou reler alguns capitulos dos livros aqui e não esquecer mais dos ancoras.

Abraços


Em Quinta-feira, 14 de Julho de 2016 18:14, "address@hidden [shell-script]" <address@hidden> escreveu:


 
+1 o problema é na ER.
Sem âncoras a ER vai casar qualquer coisa que tenha pelo menos um número.
Responda o read com asdf1, a tua ER vai dizer que asdf1 é um número válido :)
Livro de ER online do Aurélio http://aurelio.net/regex/guia/ (vale a pena comprar)
Âncoras http://aurelio.net/regex/guia/ancoras.html#2_3
Abraços Paulo Bettega

On 14-07-2016 16:07, Diogo Barros address@hidden [shell-script] wrote:
>
>
> 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>
> ----------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]