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: Julio C. Neves
Subject: Re: [shell-script] testar se é numérico
Date: Wed, 22 Nov 2006 17:18:45 -0200

Fala Wagner,
a solução que acabei de propor não é usando o operador == mas sim o =~ e
neste caso estámos falando em expressão regular do lado direito do operador
e assim sendo vc pode limitar o tamanho da variável usando {t1;t2} e ficaria
algo como [0-9]{t1,t2} onde t1 é o menor tamanho possível e t2 é o maior.

Na 5a. edição não tinha isso e na 6a. bobeei e esqueci de incluir. Pretendo
fazê-lo na sétima.

Wagner, não precisa comprar a 6a. edição. Em www.julioneves.com tem o
changelog da 5a. para a 6a. Basta imprimir umas 50 páginas.

Abraços a todos,
Julio
:wq


Em 22/11/06, Wagner Brasileiro Cardoso <address@hidden>
escreveu:
>
>   Isso de certo funciona mas se pode parametrizar a máscara desta
> variável,
> pelo menos o tamnanho pode usar o seguinte;
>
> if [[ $variavel == [0-9] ]]
>
> echo "É numérico"
>
> else
>
> echo "Não numérico"
> fi
>
> Se puder delimitar o tamanho desta variável é melhor para usar diminuir as
> linhas de códico, caso contrário terá que fazer algumas linhas a mais para
> testar o tamanho da string e criar a ER baseado no tamanho da variável,
> para
> isso existem várias maneiras possível de código, não vou fazer sem saber
> sua
> necessidade real,s e precisar avise-me
>
> Abraço,
>
> Obs; Para quem tem a quinta edição do livro do Júlio este exemplo está na
> página 164, não estou com a sexta edição no momento nas mãos mas a chamada
> do índice é: "E tome teste, é só ver em qual página está pois não mudou.
>
> Wagner Brasileiro
>
> -----Mensagem original-----
> De: address@hidden <shell-script%40yahoogrupos.com.br>
> [mailto:address@hidden<shell-script%40yahoogrupos.com.br>]Em
> nome de Marcelo Loureiro
> Enviada em: quarta-feira, 22 de novembro de 2006 13:35
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Assunto: Re: [shell-script] testar se é numérico
>
> 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>
> >:
> >
> > 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>>
> > 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]
>
> ----------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio
> aviso.
> ----------------------------------------------------------
> Sair da lista: address@hidden<shell-script-unsubscribe%40yahoogrupos.com.br>
> ----------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ----------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
> _______________________________________________________
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
> Registre seu aparelho agora!
> http://br.mobile.yahoo.com/mailalertas/
>
>
>  
>



-- 
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]



reply via email to

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