Operações Aritméticas no Shell

ShellBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como realizar operações aritméticas básicas na programação Shell. Você criará um script simples para calcular o custo total de uma cesta de frutas, demonstrando o uso de variáveis e expressões aritméticas no Bash. Este laboratório foi projetado para iniciantes, por isso explicaremos cada etapa detalhadamente.

Este é um Laboratório Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para concluir cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 96%. Ele recebeu uma taxa de avaliação positiva de 100% dos alunos.

Criar um novo script Bash

Vamos começar criando um novo arquivo de script Bash.

  1. Abra o seu terminal no WebIDE. Você verá um prompt de comando, que deve ser algo parecido com isto: labex@ubuntu:~/project$.

  2. Criaremos nosso script no diretório project. Você já está neste diretório por padrão, mas vamos garantir usando o comando cd:

    cd ~/project

    Este comando altera o diretório atual para /home/labex/project.

  3. Agora, vamos criar um novo arquivo chamado fruit_basket.sh. Usaremos o comando touch, que cria um arquivo vazio:

    touch fruit_basket.sh
  4. Abra o arquivo fruit_basket.sh no editor do WebIDE. Você pode fazer isso clicando no nome do arquivo no explorador de arquivos no lado esquerdo do WebIDE.

  5. Todo script Bash deve começar com uma linha "shebang". Esta linha informa ao sistema qual interpretador usar para executar o script. Adicione a seguinte linha no início do arquivo:

    #!/bin/bash

    Esta linha especifica que o script deve ser executado com o interpretador Bash.

Definir variáveis para os custos das frutas

Agora que temos nosso arquivo de script, vamos definir algumas variáveis para armazenar os custos de diferentes frutas e da cesta.

Adicione as seguintes linhas ao seu arquivo fruit_basket.sh:

#!/bin/bash

## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1

Vamos analisar o que foi feito:

  • No Bash, não precisamos declarar variáveis antes de usá-las. Simplesmente atribuímos um valor a um nome de variável.
  • Os nomes das variáveis diferenciam maiúsculas de minúsculas (case-sensitive). Por convenção, costumamos usar letras maiúsculas para constantes (valores que não mudam).
  • Não deve haver espaços ao redor do sinal = ao atribuir valores.
  • Estes valores representam o custo em centavos. Por exemplo, COST_PINEAPPLE=50 significa que um abacaxi custa 50 centavos.
  • Não precisamos especificar um tipo de dado. O Bash trata esses valores como strings por padrão, mas os manipulará como números quando realizarmos operações aritméticas.

Calcular o custo total

Agora que definimos nossos custos, vamos calcular o custo total de uma cesta de frutas contendo 1 abacaxi, 2 bananas e 3 melancias.

Adicione a seguinte linha ao seu arquivo fruit_basket.sh:

#!/bin/bash

## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1

## Calculate total cost
TOTAL=$((COST_PINEAPPLE + (COST_BANANA * 2) + (COST_WATERMELON * 3) + COST_BASKET))

Vamos examinar esta nova linha:

  • $(( )) é a sintaxe do Bash para operações aritméticas. Tudo o que estiver dentro desses parênteses duplos é tratado como uma expressão aritmética.
  • Dentro da expressão aritmética, não precisamos usar o símbolo $ antes dos nomes das variáveis.
  • Estamos realizando várias operações:
    • COST_PINEAPPLE: O custo de 1 abacaxi
    • (COST_BANANA * 2): O custo de 2 bananas
    • (COST_WATERMELON * 3): O custo de 3 melancias
    • COST_BASKET: O custo da própria cesta
  • Todos esses valores são somados e o resultado é armazenado na variável TOTAL.

Nota: O Bash lida apenas com aritmética de números inteiros. Se estivéssemos lidando com valores decimais (como reais e centavos diretamente), precisaríamos usar uma ferramenta como o bc para aritmética de ponto flutuante.

Exibir o custo total

Para ver o resultado do nosso cálculo, precisamos imprimir o custo total. Adicione a seguinte linha ao seu arquivo fruit_basket.sh:

#!/bin/bash

## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1

## Calculate total cost
TOTAL=$((COST_PINEAPPLE + (COST_BANANA * 2) + (COST_WATERMELON * 3) + COST_BASKET))

## Display the total cost
echo "Total Cost is $TOTAL cents"

Vamos detalhar esta nova linha:

  • echo é um comando que imprime texto no terminal.
  • O texto entre aspas será impresso exatamente como está, exceto pela parte $TOTAL.
  • Quando um nome de variável é precedido por $ dentro de uma string, o Bash o substitui pelo valor da variável. Isso é chamado de expansão de variável.
  • Portanto, se o TOTAL for 128, a saída será "Total Cost is 128 cents".

Tornar o script executável e executá-lo

Agora que nosso script está completo, precisamos torná-lo executável e depois rodá-lo.

  1. No terminal, torne o script executável com o comando chmod:

    chmod +x ~/project/fruit_basket.sh

    Este comando altera o modo do arquivo, adicionando a permissão de execução (x) para o usuário.

  2. Agora, vamos executar o script:

    ~/project/fruit_basket.sh

    Este comando diz ao Bash para executar nosso script. A parte ~/project/ especifica o caminho para o nosso arquivo.

Você deve ver uma saída semelhante a:

Total Cost is 128 cents

Esta saída mostra que o custo total da nossa cesta de frutas (1 abacaxi, 2 bananas, 3 melancias e a própria cesta) é de 128 centavos.

Resumo

Neste laboratório, você aprendeu como realizar operações aritméticas usando operadores básicos na programação Shell. Você criou um script Bash que calcula o custo total de uma cesta de frutas, definindo variáveis para custos individuais e usando expressões aritméticas para computar o total. Você também aprendeu como tornar um script executável e como executá-lo a partir da linha de comando.

Pontos-chave para lembrar:

  1. Scripts Bash começam com uma linha shebang (#!/bin/bash).
  2. Variáveis no Bash são atribuídas sem espaços ao redor do sinal =.
  3. Operações aritméticas no Bash são realizadas dentro de $(( )).
  4. O comando echo é usado para imprimir resultados.
  5. Os scripts precisam ser tornados executáveis com chmod +x antes de poderem ser executados.

Essas habilidades formam a base para tarefas de script shell mais complexas e podem ser aplicadas a vários cenários onde você precisa realizar cálculos dentro de seus scripts.