Programas

Aritmética em Bash

Autor: Louise Ward
Data De Criação: 3 Fevereiro 2021
Data De Atualização: 15 Poderia 2024
Anonim
Getting off a moving train: timely responses to the climate emergency by Kevin Anderson
Vídeo: Getting off a moving train: timely responses to the climate emergency by Kevin Anderson

Contente

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.

Compartilhado

Certifique-Se De Olhar

Quando o 5G está chegando aos EUA? (Atualizado para 2020)
Internet

Quando o 5G está chegando aos EUA? (Atualizado para 2020)

Tudo obre Wirele Como e conectar em caa Como e conectar em qualquer lugar Como olucionar problema de conexão em fio O futuro do wirele O 5G fornece uma infraetrutura que muda a maneira como voc&...
Como tocar música no seu Apple Watch
Vida

Como tocar música no seu Apple Watch

Depoi de comprar um Apple Watch, você naturalmente deejará ter o máximo proveito do eu dipoitivo. Io ignifica controlar o principai recuro do martwatch - dede ratreamento de fitne a eu...