Aula 21: Loops em Bash
Nosso script de backup faz backup de um diretório. No DevOps — temos dezenas. Vamos adicionar um loop for que itera sobre todos eles. `for dir in list; do ... done` executa o corpo do loop uma vez para cada valor da lista. done (=do ao contrário) o fecha. `while [ condition ]; do ... done` executa e
for é como 'para cada'. `for dir in /app /etc; do echo $dir; done` significa: execute echo para /app, depois para /etc. done significa que terminamos. while é como 'enquanto' — continue a executar enquanto a condição for verdadeira.
- loop for
- for var in list; do ... done — o bash atribui a cada iteração o próximo item da lista. done fecha o corpo do loop. Útil para processar listas: servidores, ficheiros, diretórios.
- loop while
- while [ condition ]; do ... done — executa enquanto a condição for verdadeira. Comum para contar com um contador, ler linhas, ou esperar por um evento. Esquecer de atualizar o contador = loop infinito.