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

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

Re: [shell-script] testar se é numérico


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] testar se é numérico
Date: Fri, 24 Nov 2006 10:41:37 -0200

Bem  lembrado, Julio.

Eu pensei na expressão ^[0-9]*$ - ou seja, "tudo o que estiver entre o fim
da string, que sejam cadeias de caracteres entre 0 e 9" - poderia ser feito
assim:

$ verifica() { if [[ "$1" =~ '^[0-9]*$' ]]; then echo 'ok' ; else echo 'nok'
; fi ; }

$ verifica 99
ok

$ verifica xxx
nok

$ verifica 9a
nok

Ainda é possivel verificar pelos atalhos && e ||

[[ "$VAR" =~ '^[0-9]*$' ]] && echo 'ok' || echo 'nok'


On 11/22/06, Julio C. Neves <address@hidden> wrote:
>
>   Tiago,
> o case usa caracteres coringa e não expressões regulares, por isso é que a
> sua solução não funcionou. Há uns 3/4 meses, vc (tenho quase certeza que
> foi
> vc) colocou uma msg no grupo que viria bem a calhar com o problema do
> Marcelo, era o uso do cmd test com a sintaxe [[ Op1 =~ regexp ]].
>
> Acho essa solução tão legal que acho que merece vc procurar nos seus
> alfarrábios e colocar novamente na lista.
>
> Abração,
> Julio
> :wq
>
> 2006/11/22, Marcelo Loureiro <address@hidden<mvloureiro%40gmail.com>
> >:
> >
> > Tiago, tentei dessa forma também e se VAR=1b, por exemplo, esse case diz
> > que
> > é numérico.
> >
> > O jeito que consegui (até agora) foi tentar somar um valor à variável e
> > testar o return code. Se conseguiu somar, é numero. Se não conseguiu,
> > não é número.
> >
> > valeu
> >
> > 2006/11/22, Tiago Barcellos Peczenyj 
> > <address@hidden<tiago.peczenyj%40gmail.com>
> <tiago.peczenyj%40gmail.com>
> > >:
> > >
> > > a melhor forma seria por expressões regulares
> > >
> > > case ${VAR} in
> > > [0-9]*) echo "eh numerica" ;;
> > > *) echo "nao eh numerica" ;;
> > > esac
> > >
> > > On 11/22/06, Marcelo Loureiro <address@hidden<mvloureiro%40gmail.com>
> <mvloureiro%40gmail.com>
> > <mvloureiro%40gmail.com>>
> > > wrote:
> > > >
> > > > alguém tem uma função pronta para testar se uma variável é numérica
> ?
> > > >
> > >
> > > --
> > > Tiago B Peczenyj
> > > Linux User #405772
> > >
> > > # cd /pub
> > > # more beer
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Abraços,
> Julio
> http://www.julioneves.com - Um livro sobre Bash completo e on-line
> :wq
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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