Menu
Coddy logo textTech

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, você pode usar um laço for para iterar através de uma lista de itens e realizar uma ação em cada um.

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 na lista. A variável name assume cada valor por sua vez: primeiro "Alice", depois "Bob", depois "Charlie". A palavra-chave do marca o início do corpo do loop, e done o encerra.

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

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

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

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. Laços for 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 shell chamado countdown.sh que usa um loop for para imprimir uma contagem regressiva de 5 a 1.

Seu script deve:

  1. Comece com a linha shebang (#!/bin/bash)
  2. Use um loop for com expansão de chaves para iterar pelos números de 5 até 1
  3. Imprima 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 descendente. Dentro do loop, use echo "Countdown: $i" onde i é sua variável de loop.

Folha de consulta

Um for permite que você itere por uma lista de itens e execute uma ação em cada um.

Sintaxe básica:

for variable in list; do
    # commands
done

Percorrer uma lista de valores:

for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Percorrer arquivos usando curingas:

for file in *.txt; do
    echo "Processing $file"
done

Percorrer um intervalo de números usando expansão de chaves:

for i in {1..5}; do
    echo "Number: $i"
done

Para intervalos decrescentes, inverta a ordem:

for i in {5..1}; do
    echo "Number: $i"
done

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