expressoes_aritmeticas
DESCRIPTION
shellTRANSCRIPT
-
Expresses aritmticasO 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 comoparmetros para o comando expr.
Outro detalhe importante que ao utilizar o sinal de multiplicao * que um asterisco e osparnteses () usado para expresses aritmticas necessrio especificar antes uma barrainvertida \, pois so metacaracteres e tem significado especial no shell e tem que serdesabilitados 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/bashespressao=`expr \( 2 + 6 \) / 2` # retorna 4, pois (2 + 6) = 8 / 2 = 4echo $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 linhade comando como mostra o exemplo abaixo:
Exemplo:
O comando expr 1
-
$ echo 1.99 + 2.01 | bc
4.00
#!/bin/basha=5.66b=8.67c=`echo $a + $b | bc`echo "A soma de $a + $b = $c"
O comando expr 2
-
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 depoisdivide por 5 armazenando o resultado em uma varivel chamado de soma.
#!/bin/bashx=10y=5let soma=(x+y)*2/5 # retorna 6, pois (10 + 5) = 15 * 2 = 30 / 5 = 6echo "a soma : $soma";
O comando let 3
expressoes_aritmeticas