Estruturas de Repetição (for, while)
Automatize tarefas repetitivas usando laços 'for' e 'while', iterando sobre listas, arquivos ou condições.
Estruturas de Repetição (for, while) é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Automatizando tarefas com loops
Seja bem-vindo! Nesta lição, vamos explorar o universo dos loops na criação de scripts Bash. Loops são ferramentas poderosas que permitem aos scripts repetir um conjunto de comandos várias vezes.
Isso é essencial para automatizar tarefas repetitivas, processar listas de dados ou executar ações até que determinada condição seja atendida. Vamos explorar dois tipos principais: loops for e loops while.
O loop 'for': listas de itens
O loop for é ideal para percorrer uma lista fixa de itens. Essa lista pode ser uma série de palavras, nomes de arquivos, números ou qualquer outra coisa que o senhor consiga definir.
Sua sintaxe básica é:
forvariableinitem1 item2 ...; do- commands to repeat
done
Cada item da lista será atribuído a variable, e os comandos serão executados para cada item.
Exemplo: Percorrendo uma lista
Vamos ver o laço for em ação percorrendo uma lista de frutas. Tente executar este exemplo para ver como cada fruta é processada:
#!/bin/bash
echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
echo "$fruit is delicious!"
doneLaço 'for': sequências numéricas
O laço for também pode gerar e percorrer sequências numéricas com facilidade. Isso é muito útil para tarefas que exigem contar ou processar itens por índice.
Você pode usar a expansão de chaves {start..end} para criar uma sequência de números:
for i in {1..5}; do ... done
Como alternativa, o comando seq pode gerar sequências com mais opções, como incrementos:
for i in $(seq 1 2 10); do ... done
Exemplo: Contando com 'for'
Veja como usar a expansão de chaves para contar de 1 a 3. Esse é um padrão comum para laços numéricos simples.
#!/bin/bash
echo "Counting up:"
for i in {1..3};
do
echo "Number: $i"
doneO laço 'while': repetição condicional
O laço while executa repetidamente um bloco de comandos enquanto uma condição especificada permanecer verdadeira. Ele é ideal quando você não sabe antecipadamente quantas vezes precisará repetir o laço.
A sintaxe básica é:
while[ condition ]; do- comandos a repetir
done
A condição é avaliada antes de cada iteração. Se for verdadeira, os comandos serão executados; se for falsa, o laço será encerrado.
Exemplo: Contador simples com 'while'
Este exemplo demonstra um laço while que conta de 1 a 3. Observe como a variável count é incrementada dentro do laço, fazendo com que a condição se torne falsa.
#!/bin/bash
count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
echo "Current count: $count"
count=$((count + 1))
doneLaço 'while': lendo arquivos linha por linha
Um uso muito comum e poderoso do laço while é ler e processar um arquivo linha por linha. Isso é fundamental para analisar arquivos de registro, arquivos de configuração ou qualquer dado de texto.
O padrão geralmente é semelhante a este:
while IFS= read -r line; do- comandos para processar $line
done < filename.txt
IFS= read -r é uma forma robusta de ler linhas, evitando problemas com espaços em branco e barras invertidas.
Exemplo: Processando um arquivo
Vamos criar um arquivo temporário e usar um laço while para ler e exibir seu conteúdo linha por linha. Isso mostra uma aplicação prática do processamento de arquivos.
#!/bin/bash
# Create a temporary file for demonstration
echo "First line of data" > temp_data.txt
echo "Second line of data" >> temp_data.txt
echo "Third line of data" >> temp_data.txt
echo "\nReading from temp_data.txt:"
while IFS= read -r line;
do
echo "Processed: $line"
done < temp_data.txt
# Clean up the temporary file
rm temp_data.txtEscolha do tipo de laço
Você aprendeu sobre os laços for e while. Cada um tem seus pontos fortes, dependendo da tarefa.
Considere o seguinte cenário: você precisa processar cada nome de arquivo em um diretório específico.
Revisão: laços para automação
Você explorou com sucesso as estruturas de repetição do Bash!
- O laço
foré ideal para percorrer uma lista conhecida e finita de itens ou uma sequência de números. - O laço
whileé mais adequado quando você precisa repetir comandos enquanto determinada condição permanecer verdadeira, sendo frequentemente usado para contagem ou leitura de arquivos linha por linha.
Dominar esses laços é fundamental para escrever scripts Bash poderosos e automatizados. Continue praticando para aprimorar suas habilidades de criação de scripts!
Perguntas Frequentes
A aula “Estruturas de Repetição (for, while)” é grátis?
Sim — o texto completo de “Estruturas de Repetição (for, while)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Estruturas de Repetição (for, while)”?
Automatize tarefas repetitivas usando laços 'for' e 'while', iterando sobre listas, arquivos ou condições. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Estruturas de Repetição (for, while)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estruturas de Repetição (for, while)
- Funções em Scripts Bash
- Argumentos e Opções de Scripts ($@, $#, getopts)
- A Instrução case e a Correspondência de Padrões