Beheersing van de Linux-opdrachtregel · Les

Voorwaardelijke instructies: `if`, `else`, `case`

Implementeer beslislogica in uw scripts met verschillende voorwaardelijke constructies.

Les 2 van 411 stappen

Voorwaardelijke instructies: `if`, `else`, `case` is een gratis Beheersing van de Linux-opdrachtregel-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Beheersing van de Linux-opdrachtregel. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Beheersing van de Linux-opdrachtregel bevat in totaal 4 lessen.

Beslissingen nemen in scripts

Bij shellscripts moet je, net als in het dagelijks leven, vaak beslissingen nemen. Met voorwaardelijke instructies kun je verschillende opdrachten uitvoeren op basis van de vraag of een bepaalde voorwaarde waar of onwaar is.

Dit is essentieel voor het maken van flexibele en krachtige scripts die zich aan verschillende situaties of invoer van gebruikers kunnen aanpassen.

De eenvoudige `if`-instructie

De eenvoudigste voorwaardelijke instructie is de if-instructie. Deze controleert een voorwaarde en voert een blok opdrachten uit als die voorwaarde waar is. Als de voorwaarde onwaar is, wordt het blok overgeslagen.

De basissyntaxis ziet er als volgt uit:

  • if [ condition ]; then
  • # commands to run if true
  • fi

Denk eraan om fi te gebruiken om het if-blok af te sluiten.

Eenvoudig voorbeeld met `if`

Bekijk een eenvoudige if-instructie in actie. Dit script controleert of een variabele num groter is dan 5.

Probeer de waarde van num te wijzigen om te zien hoe de uitvoer verandert.

#!/bin/bash

num=7

if [ "$num" -gt 5 ]; then
  echo "Number is greater than 5."
fi

num=3

if [ "$num" -gt 5 ]; then
  echo "Number is greater than 5. (This won't print)"
fi

`if-else`: twee paden

Wat als je één reeks opdrachten wilt uitvoeren als een voorwaarde waar is, en een andere reeks als de voorwaarde onwaar is? Daarvoor gebruik je else.

De if-else-instructie biedt twee verschillende paden voor je script:

  • if [ condition ]; then
  • # commands if condition is true
  • else
  • # commands if condition is false
  • fi

`if-else` gebruiken

Dit script gebruikt if-else om te bepalen of een getal even of oneven is. We gebruiken de rekenkundige evaluatie (( )) om getallen duidelijker met elkaar te vergelijken en berekeningen uit te voeren.

De operator % geeft de rest van een deling. Als num % 2 0 is, is het getal even.

#!/bin/bash

num=4

if (( num % 2 == 0 )); then
  echo "$num is an even number."
else
  echo "$num is an odd number."
fi

num=9

if (( num % 2 == 0 )); then
  echo "$num is an even number. (This won't print)"
else
  echo "$num is an odd number."
fi

`elif`: meerdere voorwaarden

Soms zijn er meer dan twee mogelijke uitkomsten. In zulke situaties kun je elif (een afkorting van "else if") gebruiken om meerdere voorwaarden achter elkaar te controleren.

Het script controleert de voorwaarden één voor één. De eerste voorwaarde die waar is, bepaalt welke opdrachten worden uitgevoerd; de rest wordt overgeslagen.

  • if [ cond1 ]; then ...
  • elif [ cond2 ]; then ...
  • else ...
  • fi

Keten van `elif`-instructies

Dit is een voorbeeld waarin if-elif-else wordt gebruikt om op basis van een score een lettercijfer toe te kennen. Let erop dat de voorwaarden worden gecontroleerd van de hoogste naar de laagste score.

Als de score 95 is, voldoet de eerste if-voorwaarde (>= 90) en wordt "A" afgedrukt. De andere elif- en else-blokken worden daarna genegeerd.

#!/bin/bash

score=85

if [ "$score" -ge 90 ]; then
  echo "Grade: A"
elif [ "$score" -ge 80 ]; then
  echo "Grade: B"
elif [ "$score" -ge 70 ]; then
  echo "Grade: C"
else
  echo "Grade: F"
fi

`case`: eenvoudige selectie

Als één variabele of expressie veel mogelijke waarden kan hebben en je voor elke waarde een andere actie wilt uitvoeren, is de case-instructie vaak overzichtelijker dan een lange keten van if-elif-else-instructies.

Deze is bijzonder handig voor scripts met menu's of voor het verwerken van specifieke invoeropties.

  • case $variable in
  • pattern1) commands ;;
  • pattern2) commands ;;
  • *) default commands ;;
  • esac

`case`-instructies gebruiken

Dit script laat zien hoe je case gebruikt om op verschillende gebruikersacties te reageren (starten, stoppen, opnieuw starten). Het patroon *) fungeert als standaardoptie en vangt alle waarden op die niet overeenkomen.

Elk blok opdrachten eindigt met ;;. Dat is essentieel om de case-instructie correct te laten werken.

#!/bin/bash

action="start"

case "$action" in
  "start")
    echo "Starting service..."
    ;;
  "stop")
    echo "Stopping service..."
    ;;
  "restart")
    echo "Restarting service..."
    ;;
  *) # Default case for anything else
    echo "Invalid action: $action"
    ;;
esac

action="status"

case "$action" in
  "start") echo "Starting service..." ;;
  "stop") echo "Stopping service..." ;;
  "restart") echo "Restarting service..." ;;
  *) echo "Invalid action: $action" ;;

esac

Uitdaging met voorwaarden

Lees het onderstaande script zorgvuldig. Wat is de uitvoer wanneer je dit script uitvoert?

#!/bin/bash

color="blue"

if [ "$color" == "red" ]; then
  echo "It's a primary color."
elif [ "$color" == "yellow" ]; then
  echo "It's another primary color."
elif [ "$color" == "blue" ]; then
  echo "Yes, blue is primary!"
else
  echo "Unknown color."
fi

Beslissingen eenvoudig gemaakt

Goed gedaan. Je hebt de belangrijkste manieren geleerd om beslissingslogica aan je shellscripts toe te voegen.

  • if: voert opdrachten uit als een voorwaarde waar is.
  • if-else: biedt twee paden: één voor een ware en één voor een onware voorwaarde.
  • elif: maakt een keten van meerdere voorwaarden mogelijk voor complexere logica.
  • case: een overzichtelijke manier om meerdere keuzes op basis van één waarde af te handelen.

Deze constructies zijn essentieel voor het schrijven van scripts die dynamisch op verschillende invoer en situaties kunnen reageren.

Gratis beginnen

Leer Beheersing van de Linux-opdrachtregel 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
12
Lessen
48

Veelgestelde vragen

Is de les “Voorwaardelijke instructies: `if`, `else`, `case`” gratis?

Ja — de volledige tekst van “Voorwaardelijke instructies: `if`, `else`, `case`” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Beheersing van de Linux-opdrachtregel wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Beheersing van de Linux-opdrachtregel bevat in totaal 4 lessen.

Wat leer ik in “Voorwaardelijke instructies: `if`, `else`, `case`”?

Implementeer beslislogica in uw scripts met verschillende voorwaardelijke constructies. Je oefent met Beheersing van de Linux-opdrachtregel 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 Beheersing van de Linux-opdrachtregel te beginnen?

Ervaring vooraf is niet nodig. Beheersing van de Linux-opdrachtregel 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 2 van 4.

Hoe lang duurt de les “Voorwaardelijke instructies: `if`, `else`, `case`”?

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 Beheersing van de Linux-opdrachtregel?

Ja. Elke les over Beheersing van de Linux-opdrachtregel 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. Variabelen, invoer en uitvoer
  2. Voorwaardelijke instructies: `if`, `else`, `case`
  3. Lussen: `for`, `while`, `until`
  4. Functies en argumenten in shellscripts
← Terug naar Beheersing van de Linux-opdrachtregel