Verder Terug Inhoud

6. Voorwaardelijke opdrachten

Voorwaardelijke opdrachten laten je een beslissing nemen of een actie wel of niet zal worden uitgevoerd, de beslissing wordt genomen door de waarde te bepalen van een expressie.

6.1 Droge Theorie

Voorwaardelijke opdrachten bestaan er in veel vormen. De basisvorm is: if expressie then statement hierbij wordt 'statement' alleen uitgevoerd wanneer de 'expressie' de waarde true oplevert.

`2<1' is een expressie die de waarde false oplevert, terwijl `2>1' de waarde true oplevert.

Er zijn nog andere vormen voorwaardelijke opdrachten, zoals: if expressie then statement1 else statement2. Hier wordt 'statement1' uitgevoerd als de 'expressie' true oplevert, anders wordt 'statement2' uitgevoerd.

Nog een andere vorm van een voorwaardelijke opdracht is: if expressie1 then statement1 else if expressie2 then statement2 else statement3 In deze vorm is slechts de "ELSE IF 'expressie2' THEN 'statement2'" toegevoegd wat maakt dat statement2 wordt uitgevoerd als expressie2 de waarde true oplevert. De rest is wat je er zelf van maakt. (zie vorige vormen).

Iets over syntax:

De basis van een 'if' constructie onder bash is:

if [expressie];

then

code als 'expressie' is true.

fi

6.2 Voorbeeld: Basis voorwaardelijke opdracht if .. then

            #!/bin/bash
            if [ "foo" = "foo" ]; then
               echo waarde van expressie leverde true op
            fi
            

De code die zal worden uitgevoerd als de expressie tussen de blokhaken true oplevert, is te vinden achter het 'then' woord en voor het 'fi' woord waarmee het einde van de voorwaardelijk uit te voeren code wordt aangegeven.

6.3 Voorbeeld: Voorbeeld basis voorwaardelijke opdracht if .. then ... else

            #!/bin/bash
            if [ "foo" = "foo" ]; then
               echo expressie levert de waarde true op
            else
               echo expressie levert de waarde false op
            fi
            

6.4 Voorbeeld: Voorwaardelijke opdrachten met variabelen

            #!/bin/bash
            T1="foo"
            T2="bar"
            if [ "$T1" = "$T2" ]; then
                echo expressie levert de waarde true op
            else
                echo expressie levert de waarde false op
            fi
            

Verder Terug Inhoud