Menu
Coddy logo textTech

Instrução If

Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 70 de 82.

Até agora, seus scripts executam cada comando de cima para baixo sem qualquer tomada de decisão. Mas e se você quiser que seu script faça coisas diferentes com base em certas condições? É aí que entra a instrução if.

A declaração if permite que seu script tome decisões. Ela verifica se uma condição é verdadeira e, se for o caso, executa um bloco de código. Aqui está a estrutura básica:

#!/bin/bash
age=18
if [ $age -ge 18 ]; then
    echo "You are an adult"
fi

A condição vai dentro de colchetes com espaços ao redor dela. A palavra-chave then marca o início do código a ser executado, e fi (if soletrado ao contrário) encerra a instrução.

Você também pode lidar com o caso em que a condição é falsa usando else:

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

Operadores de comparação comuns para números incluem -eq (igual), -ne (diferente), -gt (maior que), -lt (menor que), -ge (maior ou igual) e -le (menor ou igual). Para strings, use = para igualdade e != para desigualdade.

Lembre-se de sempre incluir espaços dentro dos colchetes e colocar suas variáveis entre aspas para evitar erros com valores vazios.

challenge icon

Desafio

Fácil

Crie um script shell chamado check_score.sh que usa uma instrução if para avaliar uma pontuação de teste.

Seu script deve:

  1. Comece com a linha shebang (#!/bin/bash)
  2. Crie uma variável chamada score com o valor 75
  3. Use uma instrução if para verificar se a pontuação é maior ou igual a 70
  4. Se verdadeiro, imprima: You passed!
  5. Se falso, imprima: You failed.

Torne o script executável e execute-o. Como a pontuação é 75, sua saída deve ser:

You passed!

Dica: Lembre-se de usar -ge para comparação "maior ou igual a", inclua espaços dentro dos colchetes e termine sua instrução if com fi.

Folha de consulta

A declaração if permite que scripts tomem decisões com base em condições:

#!/bin/bash
age=18
if [ $age -ge 18 ]; then
    echo "You are an adult"
fi

A condição vai dentro de colchetes com espaços ao redor dela. Use then para marcar o início do bloco de código e fi para encerrar a declaração.

Use else para lidar com casos quando a condição é falsa:

#!/bin/bash
age=15
if [ $age -ge 18 ]; then
    echo "You are an adult"
else
    echo "You are a minor"
fi

Operadores de comparação comuns:

  • Números: -eq (igual), -ne (diferente), -gt (maior que), -lt (menor que), -ge (maior ou igual), -le (menor ou igual)
  • Strings: = (igualdade), != (desigualdade)

Sempre inclua espaços dentro dos colchetes e aspas nas variáveis para evitar erros com valores vazios.

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos