Løkker (for, while)
Automatiser repetitive oppgaver ved hjelp av «for»- og «while»-løkker som går gjennom lister, filer eller betingelser.
Løkker (for, while) er en gratis leksjon i Mestring av Linux-kommandolinjen og Bash-skripting på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mestring av Linux-kommandolinjen og Bash-skripting, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mestring av Linux-kommandolinjen og Bash-skripting inneholder totalt 4 leksjoner.
Automatisere oppgaver med løkker
Velkommen! I denne leksjonen skal vi utforske løkker i Bash-skript. Løkker er kraftige verktøy som lar skriptene gjenta et sett med kommandoer flere ganger.
Dette er viktig for å automatisere gjentakende oppgaver, behandle lister med data eller utføre handlinger frem til en bestemt betingelse er oppfylt. Vi skal se på to hovedtyper: for-løkker og while-løkker.
«for»-løkken: Lister med elementer
for-løkken passer perfekt når De skal iterere over en fast liste med elementer. Listen kan bestå av en rekke ord, filnavn, tall eller hva som helst De kan definere.
Den grunnleggende syntaksen er:
forvariableinitem1 item2 ...; do- commands to repeat
done
Hvert element i listen tilordnes til variable, og kommandoene kjøres for hvert element.
Eksempel: Iterere gjennom en liste
La oss se for-løkken i praksis ved å iterere gjennom en liste med frukter. Prøv å kjøre dette eksempelet for å se hvordan hver frukt behandles:
#!/bin/bash
echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
echo "$fruit is delicious!"
done'for'-løkken: Tallsekvenser
for-løkken kan også enkelt generere og iterere gjennom tallsekvenser. Dette er svært nyttig for oppgaver som krever telling eller behandling av elementer etter indeks.
Du kan bruke klammeparentesutvidelse {start..end} til å opprette en tallsekvens:
for i in {1..5}; do ... done
Alternativt kan kommandoen seq generere sekvenser med flere alternativer, for eksempel steg:
for i in $(seq 1 2 10); do ... done
Eksempel: Telling med 'for'
Slik kan du bruke klammeparentesutvidelse til å telle fra 1 til 3. Dette er et vanlig mønster for enkle numeriske løkker.
#!/bin/bash
echo "Counting up:"
for i in {1..3};
do
echo "Number: $i"
done'while'-løkken: Betinget gjentakelse
while-løkken kjører en blokk med kommandoer gjentatte ganger så lenge en angitt betingelse forblir sann. Den er ideell når du ikke vet på forhånd hvor mange ganger du må gjenta løkken.
Den grunnleggende syntaksen er:
while[ condition ]; do- commands to repeat
done
Betingelsen evalueres før hver iterasjon. Hvis den er sann, kjøres kommandoene. Hvis den er usann, avsluttes løkken.
Eksempel: Enkel 'while'-teller
Dette eksempelet viser en while-løkke som teller fra 1 til 3. Legg merke til hvordan variabelen count økes inne i løkken, slik at betingelsen til slutt blir usann.
#!/bin/bash
count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
echo "Current count: $count"
count=$((count + 1))
done'while'-løkken: Lese filer linje for linje
En svært vanlig og kraftig bruk av while-løkken er å lese og behandle en fil linje for linje. Dette er avgjørende ved tolking av loggfiler, konfigurasjonsfiler eller andre tekstdata.
Mønsteret ser ofte slik ut:
while IFS= read -r line; do- commands to process $line
done < filename.txt
IFS= read -r er en robust måte å lese linjer på, og forhindrer problemer med mellomrom og omvendte skråstreker.
Eksempel: Behandle en fil
La oss opprette en midlertidig fil og bruke en while-løkke til å lese og vise innholdet linje for linje. Dette viser en praktisk anvendelse av filbehandling.
#!/bin/bash
# Create a temporary file for demonstration
echo "First line of data" > temp_data.txt
echo "Second line of data" >> temp_data.txt
echo "Third line of data" >> temp_data.txt
echo "\nReading from temp_data.txt:"
while IFS= read -r line;
do
echo "Processed: $line"
done < temp_data.txt
# Clean up the temporary file
rm temp_data.txtVelge løkketype
Du har lært om både for- og while-løkker. Hver av dem har sine styrker, avhengig av oppgaven.
Se for deg følgende scenario: Du må behandle hvert filnavn i en bestemt katalog.
Oppsummering: Løkker for automatisering
Du har utforsket Bash-konstruksjoner for løkker!
for-løkken er ideell for å iterere over en kjent, endelig liste med elementer eller en tallsekvens.while-løkken er best når du må gjenta kommandoer så lenge en bestemt betingelse er sann. Den brukes ofte til telling eller til å lese filer linje for linje.
Å beherske disse løkkene er grunnleggende for å skrive kraftige og automatiserte Bash-skript. Fortsett å øve for å bli bedre til å lage skript!
Lær deg Bash med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 22
- Leksjoner
- 88
Ofte stilte spørsmål
Er leksjonen «Løkker (for, while)» gratis?
Ja – hele teksten i «Løkker (for, while)» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Mestring av Linux-kommandolinjen og Bash-skripting-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Mestring av Linux-kommandolinjen og Bash-skripting inneholder totalt 4 leksjoner.
Hva lærer jeg i «Løkker (for, while)»?
Automatiser repetitive oppgaver ved hjelp av «for»- og «while»-løkker som går gjennom lister, filer eller betingelser. Du øver på Mestring av Linux-kommandolinjen og Bash-skripting med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Mestring av Linux-kommandolinjen og Bash-skripting?
Ingen tidligere erfaring er nødvendig. Mestring av Linux-kommandolinjen og Bash-skripting på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Løkker (for, while)»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Mestring av Linux-kommandolinjen og Bash-skripting-leksjonen?
Ja. Alle Mestring av Linux-kommandolinjen og Bash-skripting-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Løkker (for, while)
- Funksjoner i Bash-skript
- Skriptargumenter og alternativer ($@, $#, getopts)
- case-setningen og mønstergjenkjenning