Skip to content

Como adicionar cálculos a um script Bash

17 de junho de 2021

O que saber

  • Use o deixar comando para produzir a avaliação aritmética de uma expressão, como em deixe m = (4 * 1024).
  • As operações aritméticas disponíveis são semelhantes às das linguagens de programação padrão, como Java e C.
  • O operador let funciona apenas para aritmética de inteiros. Para aritmética de ponto flutuante, use a calculadora GNU bc.

Embora o Bash seja uma linguagem de script, ele possui a maioria dos recursos de uma linguagem de programação de propósito geral. Isso inclui funções aritméticas. Veja como adicionar cálculos a um script bash.

Como adicionar cálculos a um script Bash

Existem várias opções de sintaxe que você pode usar para evocar a avaliação aritmética de uma expressão. Talvez o mais legível seja o deixar comando. Por exemplo: deixe m = (4 * 1024)

class = “ql-syntax”> calculará 4 vezes 1024 e atribuirá o resultado à variável “m”. Você pode imprimir o resultado adicionando um eco declaração: echo $ m

class = “ql-syntax”> Você também pode criar um arquivo contendo os comandos Bash; nesse caso, você deve adicionar uma linha na parte superior do arquivo que especifica o programa que deve executar o código. Por exemplo: #! / bin / bash

class = “ql-syntax”> assumindo que o executável Bash está localizado em / bin / bash. Você também precisa definir as permissões do seu arquivo de script para que seja executável. Supondo que o nome do arquivo de script seja script1.sh, você pode definir as permissões para tornar o arquivo executável com o comando: chmod + x script1.sh

class = “ql-syntax”> Depois disso, você pode executá-lo com o comando: ./script1.sh

class = “ql-syntax”> As operações aritméticas disponíveis são semelhantes àquelas em linguagens de programação padrão como Java e C. Além da multiplicação, conforme ilustrado acima, você usa a adição: deixe m = (5 + 5)

class = “ql-syntax”> ou subtração: deixe m = (10 – 2)

class = “ql-syntax”> ou divisão: deixe m = (10/2)

class = “ql-syntax”> ou módulo (o resto após uma divisão inteira): seja m = (11/2)

class = “ql-syntax”> Quando uma operação é aplicada à mesma variável à qual o resultado foi atribuído, você pode usar os operadores de atribuição abreviada aritmética padrão, também chamados de operadores de atribuição compostos. Por exemplo, para adição, temos: ((m + = 15))

class = “ql-syntax”> que é equivalente a “m = m + 15”. Para a subtração, temos: ((m- = 3))

class = “ql-syntax”> que é equivalente a “m = m – 3”. Para divisão, temos: ((m / = 5))

class = “ql-syntax”> que é equivalente a “m = m / 5”. E para o módulo, temos: ((m% = 10))

class = “ql-syntax”> que é equivalente a “m = m% 10”. Além disso, você pode usar o incremento e decremento operadores: ((m ++))

class = “ql-syntax”> é equivalente a “m = m + 1”. E ((m–))

class = “ql-syntax”> é equivalente a “m = m – 1”.

Aritmética de ponto flutuante no Bash

O deixar operador só funciona para aritmética de inteiros. Para aritmética de ponto flutuante, você pode usar, por exemplo, a calculadora GNU bc conforme ilustrado neste exemplo: echo 32.0 + 1.4 | ac

O operador “pipe” “|” passa a expressão aritmética “32,0 + 1,4” para a calculadora bc, que retorna o número real. O comando echo imprime o resultado na saída padrão.

Sintaxe alternativa para aritmética

Críticas (aspas simples) podem ser usadas para avaliar uma expressão aritmética como neste exemplo: echo `expr $ m + 18`

class = “ql-syntax”> Isso adicionará 18 ao valor da variável “m” e imprimirá o resultado. Para atribuir o valor de cálculo a uma variável, você pode usar o sinal de igual sem espaços ao redor: m = `expr $ m + 18`

class = “ql-syntax”> Outra maneira de avaliar expressões aritméticas é usar parênteses duplos. Por exemplo: ((m * = 4))

class = “ql-syntax”> Isso quadruplicará o valor da variável “m”. Além da avaliação aritmética, o shell Bash fornece outras construções de programação, como for-loops, while-loops, condicionais e funções e sub-rotinas.