Valget mellem at bruge en `for` loop og en `while` loop i shell-scripting afhænger af de specifikke krav og betingelser for dit script. Her er et par retningslinjer, der hjælper dig med at beslutte:
Brug en `for`-løkke:
- Når du kender det nøjagtige antal gentagelser: Brug en 'for'-løkke, når du har et bestemt antal iterationer, der skal udføres. For eksempel, hvis du vil vise en besked 10 gange, kan du bruge en 'for'-løkke med et interval fra 1 til 10.
``` bash
for i i {1..10}; gør
ekko "Besked $i"
færdig
```
- Når du itererer over en liste eller et array: Brug en 'for'-løkke til at iterere gennem en liste med elementer eller en matrix. Dette giver dig mulighed for nemt at få adgang til og behandle hvert element i listen eller arrayet.
``` bash
frugter=("æble" "banan" "mango")
for frugt i "${frugt[@]}"; gør
ekko "$fruit"
færdig
```
Brug en `while`-løkke:
- Når du ikke kender det nøjagtige antal gentagelser: Brug en 'while'-løkke, når antallet af iterationer ikke er forudbestemt eller kan variere under udførelse. For eksempel vil du måske blive ved med at læse input fra brugeren, indtil de indtaster en bestemt værdi.
``` bash
mens sandt; gør
read -p "Indtast en værdi (q for at afslutte):" værdi
if [[ $værdi =="q" ]]; så
pause
fi
# Behandl inputværdien her
færdig
```
- Når du skal kontrollere en tilstand gentagne gange: Brug en 'while'-løkke til at kontrollere en betingelse gentagne gange og udfør en kodeblok, så længe betingelsen er sand. Dette giver dig mulighed for at oprette loops, der fortsætter, indtil en bestemt betingelse er opfyldt.
``` bash
antal=0
mens [[ $count -lt 10 ]]; gør
echo "Count:$count"
((tæller++))
færdig
```
Sammenfattende skal du bruge en 'for'-løkke, når du kender det nøjagtige antal iterationer, eller når du itererer over en liste eller et array. Brug en 'while'-løkke, når du ikke kender det nøjagtige antal iterationer, eller når du skal kontrollere en betingelse gentagne gange.