Die Wahl zwischen der Verwendung einer „for“-Schleife und einer „while“-Schleife bei der Shell-Skripterstellung hängt von den spezifischen Anforderungen und Bedingungen Ihres Skripts ab. Hier sind ein paar Richtlinien, die Ihnen bei der Entscheidung helfen sollen:
Verwenden Sie eine „for“-Schleife:
- Wenn Sie die genaue Anzahl der Iterationen kennen: Verwenden Sie eine „for“-Schleife, wenn Sie eine bestimmte Anzahl von Iterationen ausführen müssen. Wenn Sie beispielsweise eine Nachricht zehnmal anzeigen möchten, können Sie eine „for“-Schleife mit einem Bereich von 1 bis 10 verwenden.
„Bash
für i in {1..10}; Tun
echo „Nachricht $i“
Erledigt
„
- Beim Durchlaufen einer Liste oder eines Arrays: Verwenden Sie eine „for“-Schleife, um eine Liste von Elementen oder ein Array zu durchlaufen. Dadurch können Sie problemlos auf jedes Element in der Liste oder im Array zugreifen und es verarbeiten.
„Bash
Früchte =("Apfel", "Banane", "Mango")
für Obst in „${fruits[@]}“; Tun
echo „$fruit“
Erledigt
„
Verwenden Sie eine „while“-Schleife:
- Wenn Sie die genaue Anzahl der Iterationen nicht kennen: Verwenden Sie eine „while“-Schleife, wenn die Anzahl der Iterationen nicht vorbestimmt ist oder während der Ausführung variieren kann. Beispielsweise möchten Sie möglicherweise die Eingaben des Benutzers so lange lesen, bis er einen bestimmten Wert eingibt.
„Bash
während wahr; Tun
read -p „Geben Sie einen Wert ein (q zum Beenden):„Wert
if [[ $value =="q" ]]; Dann
brechen
fi
# Verarbeiten Sie hier den Eingabewert
Erledigt
„
- Wenn Sie eine Bedingung wiederholt überprüfen müssen: Verwenden Sie eine „while“-Schleife, um eine Bedingung wiederholt zu überprüfen und einen Codeblock auszuführen, solange die Bedingung wahr ist. Dadurch können Sie Schleifen erstellen, die so lange andauern, bis eine bestimmte Bedingung erfüllt ist.
„Bash
Anzahl=0
while [[ $count -lt 10 ]]; Tun
echo „Anzahl:$count“
((count++))
Erledigt
„
Zusammenfassend lässt sich sagen, dass Sie eine „for“-Schleife verwenden, wenn Sie die genaue Anzahl der Iterationen kennen oder wenn Sie über eine Liste oder ein Array iterieren. Verwenden Sie eine „while“-Schleife, wenn Sie die genaue Anzahl der Iterationen nicht kennen oder eine Bedingung wiederholt überprüfen müssen.