A escolha entre usar um loop `for` e um loop `while` em scripts de shell depende dos requisitos e condições específicos do seu script. Aqui estão algumas diretrizes para ajudá-lo a decidir:
Use um loop `for`: -
Quando você sabe o número exato de iterações: Use um loop `for` quando tiver um número definido de iterações que precisam ser executadas. Por exemplo, se quiser exibir uma mensagem 10 vezes, você pode usar um loop `for` com intervalo de 1 a 10.
```bash
para eu em {1..10}; fazer
echo "Mensagem $i"
feito
```
-
Ao iterar sobre uma lista ou array: Use um loop `for` para iterar por uma lista de elementos ou um array. Isso permite acessar e processar facilmente cada elemento da lista ou matriz.
```bash
frutas=("maçã" "banana" "manga")
para frutas em "${frutas[@]}"; fazer
eco "$ fruta"
feito
```
Use um loop `while`: -
Quando você não sabe o número exato de iterações: Use um loop `while` quando o número de iterações não for predeterminado ou puder variar durante a execução. Por exemplo, você pode querer continuar lendo a entrada do usuário até que ele insira um valor específico.
```bash
enquanto verdadeiro; fazer
read -p "Insira um valor (q para sair):" valor
se [[ $valor =="q" ]]; então
quebrar
fi
# Processe o valor de entrada aqui
feito
```
-
Quando você precisa verificar uma condição repetidamente: Use um loop `while` para verificar uma condição repetidamente e executar um bloco de código enquanto a condição for verdadeira. Isso permite criar loops que continuam até que uma determinada condição seja atendida.
```bash
contagem=0
enquanto [[ $contar -lt 10 ]]; fazer
echo "Contagem:$contagem"
((contagem++))
feito
```
Em resumo, use um loop `for` quando você souber o número exato de iterações ou ao iterar em uma lista ou array. Use um loop `while` quando você não souber o número exato de iterações ou quando precisar verificar uma condição repetidamente.