DevOps-bootcamp · Les

Lusconstructies (for, while)

Automatiseer repetitieve taken met 'for'- en 'while'-lussen die door lijsten, bestanden of voorwaarden itereren.

Les 1 van 411 stappen

Lusconstructies (for, while) is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Taken automatiseren met lussen

Welkom! In deze les duiken we in de wereld van lussen in Bash-scripting. Lussen zijn krachtige hulpmiddelen waarmee je scripts een reeks commando's meerdere keren kunnen herhalen.

Dit is essentieel voor het automatiseren van herhalende taken, het verwerken van gegevenslijsten of het uitvoeren van acties totdat aan een bepaalde voorwaarde is voldaan. We bekijken twee hoofdtypen: for-lussen en while-lussen.

De 'for'-lus: itemlijsten

De for-lus is ideaal om een vaste lijst met items te doorlopen. Deze lijst kan bestaan uit een reeks woorden, bestandsnamen, getallen of wat je maar kunt definiëren.

De basissyntaxis is:

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

Elk item in de lijst wordt toegewezen aan variable en de commando's worden voor elk item uitgevoerd.

Voorbeeld: door een lijst itereren

Bekijk de for-lus in actie door een lijst met fruit te doorlopen. Voer dit voorbeeld uit om te zien hoe elk stuk fruit wordt verwerkt:

#!/bin/bash

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

'for'-lus: getallenreeksen

De for-lus kan ook eenvoudig getallenreeksen genereren en doorlopen. Dat is erg handig voor taken waarbij je moet tellen of items op basis van hun index moet verwerken.

Je kunt accolade-expansie {start..end} gebruiken om een reeks getallen te maken:

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

Je kunt ook de opdracht seq gebruiken om reeksen met meer opties te genereren, zoals stappen:

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

Voorbeeld: tellen met 'for'

Zo kun je accolade-expansie gebruiken om van 1 tot 3 te tellen. Dit is een veelgebruikt patroon voor eenvoudige numerieke lussen.

#!/bin/bash

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

De 'while'-lus: voorwaardelijke herhaling

De while-lus voert een blok opdrachten herhaaldelijk uit zolang een opgegeven voorwaarde waar blijft. Deze lus is ideaal wanneer je vooraf niet weet hoe vaak je moet herhalen.

De basissyntaxis is:

  • while [ condition ]; do
  • opdrachten om te herhalen
  • done

De voorwaarde wordt vóór elke iteratie geëvalueerd. Als de voorwaarde waar is, worden de opdrachten uitgevoerd; als de voorwaarde onwaar is, eindigt de lus.

Voorbeeld: eenvoudige 'while'-teller

Dit voorbeeld laat een while-lus zien die van 1 tot 3 telt. Let erop hoe de variabele count binnen de lus wordt verhoogd, zodat de voorwaarde uiteindelijk onwaar wordt.

#!/bin/bash

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

'while'-lus: bestanden regel voor regel lezen

Een veelgebruikte en krachtige toepassing van de while-lus is het regel voor regel lezen en verwerken van een bestand. Dit is essentieel voor het parseren van logbestanden, configuratiebestanden of andere tekstgegevens.

Het patroon ziet er vaak zo uit:

  • while IFS= read -r line; do
  • opdrachten om $line te verwerken
  • done < filename.txt

IFS= read -r is een robuuste manier om regels te lezen, waarbij problemen met witruimte en backslashes worden voorkomen.

Voorbeeld: een bestand verwerken

We maken een tijdelijk bestand en gebruiken een while-lus om de inhoud ervan regel voor regel te lezen en weer te geven. Dit laat een praktische toepassing van bestandsverwerking zien.

#!/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

Een lusstype kiezen

Je hebt kennisgemaakt met zowel for- als while-lussen. Elke lus heeft sterke punten, afhankelijk van de taak.

Bekijk het volgende scenario: je moet elke bestandsnaam in een specifieke map verwerken.

Samenvatting: lussen voor automatisering

Je hebt de lusconstructies van Bash met succes verkend!

  • De for-lus is ideaal om door een bekende, eindige lijst met items of een getallenreeks te itereren.
  • De while-lus is het meest geschikt wanneer je opdrachten wilt herhalen zolang een bepaalde voorwaarde waar blijft. Deze lus wordt vaak gebruikt om te tellen of bestanden regel voor regel te lezen.

Het beheersen van deze lussen is essentieel voor het schrijven van krachtige en geautomatiseerde Bash-scripts. Blijf oefenen om je vaardigheden in scripten verder te ontwikkelen!

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Lusconstructies (for, while)” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Lusconstructies (for, while)”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Lusconstructies (for, while)”?

Automatiseer repetitieve taken met 'for'- en 'while'-lussen die door lijsten, bestanden of voorwaarden itereren. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Lusconstructies (for, while)”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Lusconstructies (for, while)
  2. Functies in Bash-scripts
  3. Scriptargumenten en opties ($@, $#, getopts)
  4. De case-instructie en patroonherkenning
← Terug naar DevOps-bootcamp