Valget mellom å bruke en 'for'-løkke og en 'while'-løkke i skallskripting avhenger av de spesifikke kravene og betingelsene til skriptet ditt. Her er noen retningslinjer for å hjelpe deg med å bestemme:
Bruk en `for`-løkke:
- Når du vet det nøyaktige antallet iterasjoner: Bruk en `for`-løkke når du har et bestemt antall iterasjoner som må utføres. Hvis du for eksempel vil vise en melding 10 ganger, kan du bruke en 'for'-løkke med et område fra 1 til 10.
``` bash
for i i {1..10}; gjøre
ekko "Melding $i"
ferdig
```
- Når du itererer over en liste eller en matrise: Bruk en "for"-løkke for å iterere gjennom en liste med elementer eller en matrise. Dette lar deg enkelt få tilgang til og behandle hvert element i listen eller matrisen.
``` bash
fruits=("eple" "banan" "mango")
for frukt i "${frukter[@]}"; gjøre
ekko "$fruit"
ferdig
```
Bruk en "while"-løkke:
- Når du ikke vet det nøyaktige antallet iterasjoner: Bruk en "while"-løkke når antall iterasjoner ikke er forhåndsbestemt eller kan variere under utførelse. Det kan for eksempel være lurt å fortsette å lese innspill fra brukeren til de angir en bestemt verdi.
``` bash
mens sant; gjøre
les -p "Skriv inn en verdi (q for å avslutte):" verdi
if [[ $verdi =="q" ]]; da
brudd
fi
# Behandle inndataverdien her
ferdig
```
- Når du trenger å sjekke en tilstand gjentatte ganger: Bruk en "while"-løkke for å sjekke en betingelse gjentatte ganger og utfør en kodeblokk så lenge betingelsen er sann. Dette lar deg lage løkker som fortsetter til en viss betingelse er oppfylt.
``` bash
telle=0
mens [[ $count -lt 10 ]]; gjøre
ekko "Count:$count"
((antall++))
ferdig
```
Oppsummert, bruk en 'for'-løkke når du vet det nøyaktige antallet iterasjoner eller når du itererer over en liste eller matrise. Bruk en "while"-løkke når du ikke vet det nøyaktige antallet iterasjoner eller når du trenger å sjekke en tilstand gjentatte ganger.