Valet mellan att använda en `for` loop och en `while` loop in shell scripting beror på de specifika kraven och villkoren för ditt skript. Här är några riktlinjer som hjälper dig att bestämma:
Använd en `för`-loop:
- När du vet det exakta antalet iterationer: Använd en `för`-loop när du har ett bestämt antal iterationer som måste utföras. Om du till exempel vill visa ett meddelande 10 gånger kan du använda en "för"-loop med ett intervall från 1 till 10.
``` bash
för i i {1..10}; do
eko "Meddelande $i"
gjort
```
- När du itererar över en lista eller en array: Använd en "för"-loop för att iterera genom en lista med element eller en array. Detta gör att du enkelt kan komma åt och bearbeta varje element i listan eller arrayen.
``` bash
fruits=("äpple" "banan" "mango")
för frukt i "${frukter[@]}"; do
eko "$fruit"
gjort
```
Använd en `while` loop:
- När du inte vet det exakta antalet iterationer: Använd en "while"-loop när antalet iterationer inte är förutbestämt eller kan variera under exekvering. Du kanske till exempel vill fortsätta läsa indata från användaren tills de anger ett specifikt värde.
``` bash
medan sant; do
read -p "Ange ett värde (q för att avsluta):" värde
if [[ $värde =="q" ]]; sedan
bryta
fi
# Bearbeta ingångsvärdet här
gjort
```
- När du behöver kontrollera ett tillstånd upprepade gånger: Använd en "while"-loop för att kontrollera ett villkor upprepade gånger och exekvera ett kodblock så länge villkoret är sant. Detta gör att du kan skapa loopar som fortsätter tills ett visst villkor är uppfyllt.
``` bash
räkna=0
medan [[ $count -lt 10 ]]; do
echo "Count:$count"
((antal++))
gjort
```
Sammanfattningsvis, använd en "för"-loop när du vet det exakta antalet iterationer eller när du itererar över en lista eller array. Använd en `while` loop när du inte vet det exakta antalet iterationer eller när du behöver kontrollera ett villkor upprepade gånger.