variáveis

1. variáveis

Willians Dutra
willians dutra

(usa Outra)

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.


  


2. Re: variáveis

Elgio Schlemer
elgio

(usa OpenSuSE)

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

Elgio Schlemer
elgio

(usa OpenSuSE)

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.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts