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 loop for para iterar por 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!"
doneEste script exibe uma saudação para cada nome na lista. A variável name assume cada valor por 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 coringas. Você pode percorrer todos os arquivos em um diretório:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
doneIsso itera por cada arquivo .txt no diretório atual. A cada iteração, a variável file contém o nome do arquivo atual, permitindo que você execute operações em cada arquivo automaticamente.
Você também pode iterar sobre um intervalo de números usando a expansão de chaves:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
doneIsso imprime os números de 1 a 5. Os loops for transformam tarefas repetitivas em apenas algumas linhas de código, tornando seus scripts mais eficientes e fáceis de manter.
Desafio
FácilCrie um script shell chamado countdown.sh que use um loop for para imprimir uma contagem regressiva de 5 a 1.
Seu script deve:
- Começar com a linha shebang (
#!/bin/bash) - Usar um loop for com expansão de chaves para iterar pelos números de 5 até 1
- 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: 1Dica: Use
{5..1}para criar um intervalo decrescente. Dentro do loop, useecho "Countdown: $i"ondeié sua variável do loop.
Experimente você mesmo
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
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log13Fundamentos de Shell Scripting
O Que É Um Script de ShellCriar e Executar um ScriptVariáveis em ScriptsEntrada do Usuário em ScriptsInstrução IfLaço ForLaço WhileResumo - Adivinhador de Números2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados