Loopkonstruktioner (for, while)
Automatisera repetitiva uppgifter med 'for'- och 'while'-loopar genom att iterera över listor, filer eller villkor.
Loopkonstruktioner (for, while) är en gratis lektion i Bemästra Linux-kommandoraden och Bash-skriptning på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bemästra Linux-kommandoraden och Bash-skriptning, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bemästra Linux-kommandoraden och Bash-skriptning innehåller totalt 4 lektioner.
Automatisera uppgifter med loopar
Välkommen! I den här lektionen ska vi fördjupa oss i loopar i Bash-skript. Loopar är kraftfulla verktyg som gör att skripten kan upprepa en uppsättning kommandon flera gånger.
Detta är viktigt när du vill automatisera upprepade uppgifter, bearbeta listor med data eller utföra åtgärder tills ett visst villkor är uppfyllt. Vi ska utforska två huvudtyper: for-loopar och while-loopar.
”for”-loopen: Listor med objekt
for-loopen passar perfekt när du vill iterera över en fast lista med objekt. Listan kan bestå av ord, filnamn, tal eller vad som helst som du kan definiera.
Den grundläggande syntaxen är:
forvariableinitem1 item2 ...; do- commands to repeat
done
Varje objekt i listan tilldelas till variable, och kommandona körs för vart och ett av objekten.
Exempel: Iterera över en lista
Nu ska vi se for-loopen i praktiken genom att iterera över en lista med frukter. Kör exemplet för att se hur varje frukt behandlas:
#!/bin/bash
echo "My favorite fruits:"
for fruit in Apple Banana Orange;
do
echo "$fruit is delicious!"
done'for'-loop: Talserier
for-loopen kan också enkelt skapa och iterera över talserier. Det är mycket användbart för uppgifter som kräver att du räknar eller behandlar objekt efter index.
Du kan använda klammerexpansion {start..end} för att skapa en talserie:
for i in {1..5}; do ... done
Alternativt kan kommandot seq skapa serier med fler alternativ, till exempel steg:
for i in $(seq 1 2 10); do ... done
Exempel: Räkna med 'for'
Så här kan du använda klammerexpansion för att räkna från 1 till 3. Det här är ett vanligt mönster för enkla numeriska loopar.
#!/bin/bash
echo "Counting up:"
for i in {1..3};
do
echo "Number: $i"
done'while'-loopen: Villkorsstyrd upprepning
while-loopen kör ett block med kommandon upprepade gånger så länge ett angivet villkor förblir sant. Den passar bra när du inte vet i förväg hur många gånger loopen behöver köras.
Den grundläggande syntaxen är:
while[ condition ]; do- commands to repeat
done
Villkoret utvärderas före varje iteration. Om det är sant körs kommandona; om det är falskt avslutas loopen.
Exempel: Enkel räknare med 'while'
Det här exemplet visar en while-loop som räknar från 1 till 3. Observera hur variabeln count ökas inuti loopen så att villkoret till slut blir falskt.
#!/bin/bash
count=1
echo "Counting with while loop:"
while [ $count -le 3 ];
do
echo "Current count: $count"
count=$((count + 1))
done'while'-loopen: Läsa filer rad för rad
En mycket vanlig och kraftfull användning av while-loopen är att läsa och behandla en fil rad för rad. Det är viktigt när du tolkar loggfiler, konfigurationsfiler eller andra textdata.
Mönstret ser ofta ut så här:
while IFS= read -r line; do- commands to process $line
done < filename.txt
IFS= read -r är ett robust sätt att läsa rader och förhindrar problem med blanksteg och omvända snedstreck.
Exempel: Behandla en fil
Nu skapar vi en temporär fil och använder en while-loop för att läsa och visa innehållet rad för rad. Det här visar en praktisk tillämpning av filhantering.
#!/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.txtVälja looptyp
Du har nu lärt dig om både for- och while-loopar. De har olika styrkor beroende på uppgiften.
Tänk på följande scenario: Du behöver behandla varje filnamn i en viss katalog.
Sammanfattning: Loopar för automatisering
Du har nu utforskat Bashs loopkonstruktioner!
for-loopen passar bra för att iterera över en känd, ändlig lista med objekt eller en talserie.while-loopen passar bäst när du behöver upprepa kommandon så länge ett visst villkor förblir sant, till exempel när du räknar eller läser filer rad för rad.
Att behärska dessa loopar är grundläggande för att skriva kraftfulla och automatiserade Bash-skript. Fortsätt öva för att utveckla dina färdigheter i skriptning!
Lär dig Bash med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 22
- Lektioner
- 88
Vanliga frågor
Är lektionen ”Loopkonstruktioner (for, while)” gratis?
Ja – hela texten till ”Loopkonstruktioner (for, while)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bemästra Linux-kommandoraden och Bash-skriptning, kan Ni uppgradera till CoddyKit PRO. Kursen i Bemästra Linux-kommandoraden och Bash-skriptning innehåller totalt 4 lektioner.
Vad lär jag mig i ”Loopkonstruktioner (for, while)”?
Automatisera repetitiva uppgifter med 'for'- och 'while'-loopar genom att iterera över listor, filer eller villkor. Ni övar på Bemästra Linux-kommandoraden och Bash-skriptning med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Bemästra Linux-kommandoraden och Bash-skriptning?
Du behöver inga förkunskaper. Utbildningen i Bemästra Linux-kommandoraden och Bash-skriptning på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Loopkonstruktioner (for, while)”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Bemästra Linux-kommandoraden och Bash-skriptning-lektionen?
Ja. Varje Bemästra Linux-kommandoraden och Bash-skriptning-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Loopkonstruktioner (for, while)
- Funktioner i Bash-skript
- Skriptargument och alternativ ($@, $#, getopts)
- case-satsen och mönstermatchning