Linux Admin - Operações básicas de matemática

O Bash faz matemática inteira usando os operadores comuns para adição, subtração, multiplicação e divisão.

+ Adição
- Subtração
* Multiplicação
/ divisão
% Módulo
<< Incremento
- Decrementar

Ao realizar operações matemáticas, é necessário usar o formato de $ ((fórmula matemática))

Note - Ao usar $() BASH, ele executará um comando. echo $(ls)irá imprimir a saída de ls para o terminal. Adicionando umnest () permitirá ao BASH saber as operações matemáticas a serem realizadas.

No código a seguir, usamos o operador de pré-incremento para incrementar à medida que é impresso no terminal.

#!/bin/bash  
for i in `seq 0 10`; 
   do 
   echo $((++i)) 
done

A seguir será a saída.

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11

Operações matemáticas mais básicas -

#!/bin/bash 
echo $((2+1)) 
echo $((2-1)) 
echo $((2*1)) 
echo $((2/1)) 
echo $((2%1))

A seguir será a saída.

3 
1 
2 
2
0

Realizar operações matemáticas em números inteiros é muito simples no BASH. O desenvolvedor só precisa lembrar que as operações inteiras são sempre realizadas em $ (()), dizendo ao BASH que é matemática.

Para números de ponto flutuante, queremos usar o comando bc -

#!/bin/bash
echo 1.1+2.3 | bc

A seguir será a saída.

3.4

bc pode ser bastante complexo, mas ao mesmo tempo é uma calculadora de linha de comando muito poderosa.

Aqui está a página do manual para bc -

bc é uma linguagem que suporta números de precisão arbitrária com execução interativa de instruções. Existem algumas semelhanças na sintaxe da linguagem de programação C. Uma biblioteca matemática padrão está disponível pela opção de linha de comando. Se solicitado, a biblioteca matemática é definida antes de processar qualquer arquivo. bc começa processando o código de todos os arquivos listados na linha de comando na ordem listada. Depois que todos os arquivos foram processados, bc lê a entrada padrão. Todo o código é executado à medida que é lido. (Se um arquivo contém um comando para parar o processador, bc nunca irá ler a entrada padrão.)

Esta versão do bc contém várias extensões além das implementações tradicionais de bc e do padrão de rascunho POSIX. As opções da linha de comando podem fazer com que essas extensões imprimam um aviso ou sejam rejeitadas. Este documento descreve o idioma aceito por este processador. As extensões serão identificadas como tal.

Lembre-se de que usar bc é melhor com operações de ponto flutuante e o shell pode lidar com matemática de inteiros. Você precisará passar seus operandos para bc . Finalmente, o parâmetro de escala especifica a precisão da solução.

#!/bin/bash 
echo 'scale = 3; 1.19*2.3' | bc -q

A seguir será a saída.

2.737