Pular para o conteúdo

variáveis

Responder tópico
  • Denunciar
  • Indicar

1. variáveis

Enviado em 09/07/2007 - 00:23h

olá pessoal. estou interessado em aprender a criar scripts para shell, então estou lendo um monte de apostilas e tutoriais que encontro na rede.
mas fiquei curioso quando vi que em nenhum lugar que eu já tenha lido, havia operações com variáveis...não há operações matemáticas com variáveis em scripts para shell?
obrigado gente.

Responder tópico

2. Re: variáveis

Enviado em 02/08/2007 - 14:55h

Oho!!

Ah sim, e MUITAS!
Tem a calculadora INTERNA do shell, que o proprio bash tem. Pode ser ate com let:

let A="2 + 3"
echo $A

Mas tem tambem a forma $(( operacao )):

A=$(( 23 * 45 ))
echo $A
1035

Ela tem muitas outras operacoes e nao apenas as 4 basicas. Muito mesmo, incluindo shifts e operacoes binarias:

A=$(( 23 ^ 45 ))
echo $A
No caso o ^ eh o XOR

Estas calculadoras, ambas, que sao internas, possuem limitacao. Era de 32 bits, mas me SURPREENDI agora ao ver que já foi BEMMM além disto (tv 64 bits):

A=$(( 1239992342342887 * 167773424238748 ))
echo $A
5135484730281270468





3. Outras

Enviado em 02/08/2007 - 14:58h

Alem destas internas, do proprio bash, tem o bc e dc que são comandos externos (/bin/bc e /bin/dc)

A vantagem destes é que:
a) Não possuem limite de tamanho
b) trabalham com ponto flutuante

Mas tome cuidado, pois tem diferença de sintaxe. Nelas, por exemplo, o ^ é exponenciação e não XOR. Eu sempre brinco com usuários Windows pedindo que eles resolvam isto na calculadora do Windows:

echo "34 ^ 124" |bc
8005449333906459988313273499084584202710770076840
0602155629965119443023500140987961627797054561127
2914684955373428096850714862286738350634502388704
2750241605781638369683025634343327300059136


No caso é 34 elevado a potência 124.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder