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

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

Re: [shell-script] Checar se uma variávelé número


From: André Aun
Subject: Re: [shell-script] Checar se uma variávelé número
Date: Wed, 08 Dec 2004 00:23:30 -0200
User-agent: Mozilla Thunderbird 0.8 (X11/20040913)

Eliphas,

Obrigado pela ajuda, mas esta solução só checa se o primeiro caractere é numero. Veja:

deejah@freud:~$ echo 31213 | grep -q "[0-9]$" && echo "NUMERO"
NUMERO
deejah@freud:~$ echo 3a233 | grep -q "[0-9]$" && echo "NUMERO"
NUMERO

Miranda,

Já tentei o typeset, sem resultados:

deejah@freud:~$ typeset -i var
deejah@freud:~$ var=5
deejah@freud:~$ echo $var
5
deejah@freud:~$ var=5+a
deejah@freud:~$ echo $var
5
deejah@freud:~$ echo "$var + 1" | bc
6
deejah@freud:~$ echo "$var + a" | bc

Alguém tem alguma outra idéia?

Obrigado a todos.

André Aun

Eliphas Levy Theodoro wrote:

André Aun, @ 00:59:

Já que no shell não existe 'tipagem' das variáveis, como posso checar se
uma variável é número ou não?

Você pode usar um grep pra saber se ela só contém números...

a="153"
if echo "$a" | grep -q "^[0-9]$"; then
  echo "var a só tem números"
fi

No bash 2, daria pra fazer algo assim:

a="153"
if [ "$a" == "${a//[^0-9]}" ]; then
  echo "var a só tem números
fi


reply via email to

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