Você está na página 1de 3

Expresses aritmticas

O comando expr
Sintaxe:
expr EXPRESSO

Para trabalhar com operaes matemtica ou com expresses aritmtica no shell


necessrio utilizar o comando expr, onde podemos utilizar nmeros ou variveis como
parmetros para o comando expr.

Outro detalhe importante que ao utilizar o sinal de multiplicao * que um asterisco e os


parnteses () usado para expresses aritmticas necessrio especificar antes uma barra
invertida \, pois so metacaracteres e tem significado especial no shell e tem que ser
desabilitados com a barra invertida \ como mostra o exemplo abaixo:

Exemplo:
Repare abaixo que na primeira expresso (2 + 6) / 2 realizado a operao entre parnteses
(2 + 6) e depois a diviso por 2, j na segunda expresso 2 + 2 * 3 feito a multiplicao 2 *
3 e depois a soma com 2.
#!/bin/bash
espressao=`expr \( 2 + 6 \) / 2` # retorna 4, pois (2 + 6) = 8 / 2 = 4
echo $espressao
CONTA1=`expr 2 + 2 \* 3`
echo "O resultado $CONTA1"

# retorna 8, pois 2 + (2 * 3) = 2 + 6 = 8

Infelizmente o comando expr no realiza clculo de nmeros com casas decimais, para isso
necessrio usar o utilitrio bc para realizar clculos em modo texto no shell do Linux em linha
de comando como mostra o exemplo abaixo:
Exemplo:

O comando expr

$ echo 1.99 + 2.01 | bc


4.00

#!/bin/bash
a=5.66
b=8.67
c=`echo $a + $b | bc`
echo "A soma de $a + $b = $c"

O comando expr

O comando let
Faz operaes aritmticas com nmeros inteiros
Sintaxe:
let EXPRESSO
Exemplo:
O exemplo abaixo realiza a soma de dois nmeros (10+5), depois multiplica por 2 e depois
divide por 5 armazenando o resultado em uma varivel chamado de soma.
#!/bin/bash
x=10
y=5
let soma=(x+y)*2/5 # retorna 6, pois (10 + 5) = 15 * 2 = 30 / 5 = 6
echo "a soma : $soma";

O comando let

Você também pode gostar