Menu
CoddyTech

Laço For

Parte da seção Fundamentos do Journey de Terminal da Coddy. Lição 71 de 82.

Às vezes, você precisa repetir uma ação várias vezes. Em vez de escrever o mesmo comando repetidamente, pode usar um loop for para percorrer uma lista de itens e executar uma ação em cada um deles.

Aqui está a estrutura básica de um loop for no Bash:

#!/bin/bash
for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Este script exibe uma saudação para cada nome da lista. A variável name assume cada valor por vez: primeiro "Alice", depois "Bob" e, por fim, "Charlie". A palavra-chave do marca o início do corpo do loop, e done o encerra.

Os loops for são especialmente poderosos quando combinados com curingas. Você pode percorrer todos os arquivos em um diretório:

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
done

Isso percorre todos os arquivos .txt do diretório atual. A cada iteração, a variável file contém o nome do arquivo atual, permitindo que você execute operações automaticamente em cada arquivo.

Uma surpresa que vale a pena conhecer: se o padrão não corresponder a nenhum arquivo, o Bash não o expande. Nesse caso, o loop é executado uma vez com o texto literal *.txt como valor, em vez de não ser executado.

Você também pode percorrer um intervalo de números usando expansão de chaves:

#!/bin/bash
for i in {1..5}; do
    echo "Number: $i"
done

Isso imprime os números de 1 a 5. Os loops transformam tarefas repetitivas em apenas algumas linhas de código, tornando seus scripts mais eficientes e fáceis de manter.

challenge icon

Desafio

Fácil

Crie um script de shell chamado countdown.sh que use um loop for para imprimir uma contagem regressiva de 5 até 1.

Seu script deve:

  1. Começar com a linha shebang (#!/bin/bash)
  2. Usar um loop for com expansão de chaves para iterar pelos números de 5 até 1, em ordem decrescente
  3. Imprimir cada número em sua própria linha no formato: Countdown: [number]

Torne o script executável e execute-o. Sua saída deve ser:

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

Dica: Use {5..1} para criar um intervalo decrescente. Dentro do loop, use echo "Countdown: $i", em que i é a variável do loop.

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

Pratique por conta própria: Playground de Terminal