Contente
- Como adicionar cálculos a um script bash
- Aritmética de ponto flutuante no Bash
- Sintaxe alternativa para aritmética
Como adicionar cálculos a um script bash
Embora o Bash seja uma linguagem de script, ele possui praticamente todos os recursos de uma linguagem de programação de uso geral. Isso inclui funções aritméticas. Há 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 deixei comando. Por exemplo:
Seja m = (4 * 1024)
calculará 4 vezes 1024 e atribuirá o resultado à variável "m".
Você pode imprimir o resultado adicionando um eco declaração:
eco $ m
Você também pode criar um arquivo contendo os comandos Bash, nesse caso, adicione uma linha na parte superior do arquivo que especifique o programa que deve executar o código. Por exemplo:
#! / bin / bash
assumindo que o executável do Bash esteja 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
Depois disso, você pode executá-lo com o comando:
./script1.sh
As operações aritméticas disponíveis são semelhantes às das linguagens de programação padrão, como Java e C. Além da multiplicação, como ilustrado acima, você usa a adição:
Seja m = (5 + 5)
ou subtração:
Seja m = (10-2)
ou divisão:
Seja m = (10/2)
ou módulo (o restante após uma divisão inteira):
Seja m = (11/2)
Quando uma operação é aplicada à mesma variável à qual o resultado é atribuído, você pode usar os operadores de atribuição abreviada aritmética padrão, também conhecidos como operadores de atribuição composta. Por exemplo, além disso, temos:
((m + = 15))
que é equivalente a "m = m + 15". Para subtração, temos:
((m- = 3))
que é equivalente a "m = m - 3". Para divisão, temos:
((m / = 5))
que é equivalente a "m = m / 5". E para o módulo, temos:
((% em m = 10))
que é equivalente a "m = m% 10".
Além disso, você pode usar o incremento e diminuir operadores:
((m ++))
é equivalente a "m = m + 1". E
((m--))
é equivalente a "m = m - 1".
Aritmética de ponto flutuante no Bash
o deixei O operador funciona apenas para aritmética inteira. Para aritmética de ponto flutuante, você pode usar, por exemplo, a calculadora GNU bc, conforme ilustrado neste exemplo:
eco 32,0 + 1,4 | bc
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
Os backticks (aspas simples) podem ser usados para avaliar uma expressão aritmética como neste exemplo:
eco `expr $ m + 18`
Isso adicionará 18 ao valor da variável "m" e depois imprimirá o resultado.
Para atribuir o valor de computação a uma variável, você pode usar o sinal de igual sem espaços ao seu redor:
m = `expr $ m + 18`
Outra maneira de avaliar expressões aritméticas é usar parênteses duplos. Por exemplo:
((m * = 4))
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.