Linux-kommandolinjen og Bash-scripting på ekspertniveau · Lektion

Løkker (for, while)

Automatisér gentagne opgaver med 'for'- og 'while'-løkker, der gennemløber lister, filer eller betingelser.

Lektion 1 af 411 trin

Løkker (for, while) er en gratis Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Linux-kommandolinjen og Bash-scripting på ekspertniveau, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset indeholder 4 lektioner i alt.

Automatisering af opgaver med løkker

Velkommen! I denne lektion dykker vi ned i løkker i Bash-scripting. Løkker er effektive værktøjer, der lader dine scripts gentage et sæt kommandoer flere gange.

Det er afgørende til automatisering af gentagne opgaver, behandling af lister med data eller udførelse af handlinger, indtil en bestemt betingelse er opfyldt. Vi gennemgår to hovedtyper: for-løkker og while-løkker.

'for'-løkken: Lister med elementer

for-løkken er perfekt til at gennemløbe en fast liste med elementer. Listen kan bestå af en række ord, filnavne, tal eller hvad som helst, du selv definerer.

Den grundlæggende syntaks er:

  • for variable in item1 item2 ...; do
  • commands to repeat
  • done

Hvert element på listen tildeles til variable, og kommandoerne køres for hvert element.

Eksempel: Gennemløb af en liste

Lad os se for-løkken i aktion ved at gennemløbe en liste med frugter. Prøv at køre dette eksempel for at se, hvordan hver frugt behandles:

#!/bin/bash

echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
  echo "$fruit is delicious!"
done

<code>for</code>-løkken: Talrækker

for-løkken kan også nemt generere og gennemløbe talrækker. Det er meget praktisk til opgaver, der kræver optælling eller behandling af elementer efter indeks.

Du kan bruge klammeudvidelse {start..end} til at oprette en talrække:

  • for i in {1..5}; do ... done

Alternativt kan kommandoen seq generere rækker med flere muligheder, f.eks. trinstørrelser:

  • for i in $(seq 1 2 10); do ... done

Eksempel: Optælling med <code>for</code>

Sådan kan du bruge klammeudvidelse til at tælle fra 1 til 3. Det er et almindeligt mønster til simple numeriske løkker.

#!/bin/bash

echo "Counting up:"
for i in {1..3};
do
  echo "Number: $i"
done

<code>while</code>-løkken: Betinget gentagelse

while-løkken udfører en blok med kommandoer gentagne gange, så længe en angivet betingelse forbliver sand. Den er ideel, når du ikke på forhånd ved, hvor mange gange løkken skal gentages.

Dens grundlæggende syntaks er:

  • while [ condition ]; do
  • kommandoer, der skal gentages
  • done

Betingelsen evalueres før hver gennemløbning. Hvis den er sand, køres kommandoerne; hvis den er falsk, afsluttes løkken.

Eksempel: Simpel tæller med <code>while</code>

Dette eksempel viser en while-løkke, der tæller fra 1 til 3. Bemærk, hvordan variablen count øges inde i løkken, så betingelsen til sidst bliver falsk.

#!/bin/bash

count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
  echo "Current count: $count"
  count=$((count + 1))
done

<code>while</code>-løkken: Læsning af filer linje for linje

En meget almindelig og effektiv anvendelse af while-løkken er at læse og behandle en fil linje for linje. Det er afgørende ved fortolkning af logfiler, konfigurationsfiler eller andre tekstdata.

Mønstret ser ofte sådan ud:

  • while IFS= read -r line; do
  • kommandoer til behandling af $line
  • done < filename.txt

IFS= read -r er en robust måde at læse linjer på, fordi den forhindrer problemer med mellemrum og omvendte skråstreger.

Eksempel: Behandling af en fil

Lad os oprette en midlertidig fil og bruge en while-løkke til at læse og vise dens indhold linje for linje. Det viser en praktisk anvendelse af 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.txt

Valg af løkketype

Du har lært om både for- og while-løkker. Hver type har sine styrker afhængigt af den aktuelle opgave.

Overvej følgende scenarie: Du skal behandle hvert filnavn i en bestemt mappe.

Opsummering: Løkker til automatisering

Du har nu udforsket Bashs løkkekonstruktioner!

  • for-løkken er ideel til at gennemløbe en kendt, begrænset liste med elementer eller en talrække.
  • while-løkken er bedst, når du skal gentage kommandoer, så længe en bestemt betingelse er sand, ofte til optælling eller læsning af filer linje for linje.

Det er grundlæggende at beherske disse løkker, når du skal skrive effektive og automatiserede Bash-scripts. Bliv ved med at øve dig for at styrke dine evner inden for scripting!

Gratis at komme i gang

Lær Bash med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
22
Lektioner
88

Ofte stillede spørgsmål

Er lektionen “Løkker (for, while)” gratis?

Ja — hele teksten til “Løkker (for, while)” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset, skal du opgradere til CoddyKit PRO. Linux-kommandolinjen og Bash-scripting på ekspertniveau-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Løkker (for, while)”?

Automatisér gentagne opgaver med 'for'- og 'while'-løkker, der gennemløber lister, filer eller betingelser. Du øver dig i Linux-kommandolinjen og Bash-scripting på ekspertniveau med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Linux-kommandolinjen og Bash-scripting på ekspertniveau?

Der kræves ingen tidligere erfaring. Linux-kommandolinjen og Bash-scripting på ekspertniveau på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Løkker (for, while)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektion?

Ja. Alle Linux-kommandolinjen og Bash-scripting på ekspertniveau-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Løkker (for, while)
  2. Funktioner i Bash-scripts
  3. Scriptargumenter og indstillinger ($@, $#, getopts)
  4. case-sætningen og mønstergenkendelse
← Tilbage til Linux-kommandolinjen og Bash-scripting på ekspertniveau