Atualizado: 24/10/2024

Operações Matemáticas - Linux

O Bash suporta a execução de operações matemáticas básicas:

  • Adição +: 5 + 4 = 9

  • Subtração -: 5 - 4 = 1

  • Multiplicação *: 5 * 4 = 20

  • Divisão /: 5 / 4 = 1

  • Operação Módulo %: 5 % 4 = 1

Todas as operações têm a seguinte sintaxe:

$((operand1 operation operand2))

As operações são envolvidas por dois pares de parênteses, e antes do primeiro parêntese é colocado o símbolo $. Os operandos são representados por operand1 e operand2, e o operador é representado por operation. Por exemplo, no seguinte script chamado hello:

#!/bin/bash
# Script que executa operações matemáticas
result=$((1 + 3))
echo "result = $result"
exit 0

Aqui, a variável result recebe o resultado da soma dos números 1 e 3. Ao executar o script:

programicio@Programicio:~$ bash hello
result = 4

Agora, vamos usar variáveis:

#!/bin/bash
# Script que executa operações matemáticas
a=9
b=4
n1=$((a + b))
n2=$((a - b))
n3=$((a * b))
n4=$((a / b))
n5=$((a % b))
    
echo "a + b = $n1"
echo "a - b = $n2"
echo "a * b = $n3"
echo "a / b = $n4"
echo "a % b = $n5"
exit 0

Nesse caso, são realizadas operações aritméticas com as variáveis a e b, e os resultados são atribuídos a outras variáveis. Note que as variáveis dentro dos parênteses são usadas sem o símbolo $.

n1=$((a + b))

Ao executar o script:

programicio@Programicio:~$ bash hello
a + b = 13
a - b = 5
a * b = 36
a / b = 2
a % b = 1

Há outra forma de realizar operações matemáticas, usando o comando expr:

expr operand1 operation operand2

Por exemplo, para somar dois números:

programicio@Programicio:~$ expr 5 + 2
7

De forma similar, podemos usar a substituição de comando e atribuir o resultado a uma variável:

programicio@Programicio:~$ sum=`expr 5 + 2`; echo $sum
7

Nesse caso, o resultado da soma 5 + 2 é atribuído à variável sum, que é então exibida no console com o comando echo. O ponto e vírgula ; separa os dois comandos.

Devemos considerar que todas as operações, exceto multiplicação, podem ser realizadas dessa forma. Para executar a multiplicação, o símbolo * deve ser precedido por uma barra invertida \, caso contrário, ocorrerá um erro:

programicio@Programicio:~$ expr 5 * 2
expr: syntax error: unexpected argument  
programicio@Programicio:~$ expr 5 \* 2
10

Também podemos realizar operações matemáticas sem expr, se o resultado for atribuído a uma variável definida com o comando let:

programicio@Programicio:~$ let result="5+2"
programicio@Programicio:~$ echo $result
7
programicio@Programicio:~$ let result="5*2"
programicio@Programicio:~$ echo $result
10
Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com