In dit onderwerp zullen we begrijpen hoe we if-else-instructies in Bash-scripts kunnen gebruiken om onze geautomatiseerde taken te voltooien.
Bash if-else-instructies worden gebruikt om voorwaardelijke taken uit te voeren in de sequentiële stroom van uitvoering van instructies. Soms willen we een specifieke reeks uitspraken verwerken als een voorwaarde waar is, en een andere reeks uitspraken als deze onwaar is. Om dit soort acties uit te voeren, kunnen we het if-else-mechanisme toepassen. We kunnen de voorwaarde toepassen met de 'if-statement'.
Bash If Else-syntaxis
Een syntaxis van de if-else-instructie in Bash Shell Scripting kan als volgt worden gedefinieerd:
if [ condition ]; then else fi
Belangrijke punten om te onthouden
- We kunnen een set van een of meer voorwaarden gebruiken die zijn samengevoegd met behulp van voorwaardelijke operatoren.
- Else-blokopdrachten bevatten een reeks acties die moeten worden uitgevoerd als de voorwaarde onwaar is.
- De puntkomma (;) na de voorwaardelijke expressie is een must.
Bekijk de volgende voorbeelden die het gebruik van de if-else-instructie in Bash Script demonstreren:
voorbeeld 1
Het volgende voorbeeld bestaat uit twee verschillende scenario's waarbij in de eerste if-else-instructie de voorwaarde waar is, en in de tweede if-else-instructie de voorwaarde onwaar is.
#!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi
Uitvoer
In de eerste if-else-expressie is de voorwaarde ( 10 -gt 3 ) waar en dus wordt de instructie in het if-blok uitgevoerd. Terwijl in de andere if-else-expressie de voorwaarde ( 3 -gt 10 ) onwaar is en dus de instructie in het else-blok wordt uitgevoerd.
Voorbeeld 2
In dit voorbeeld hebben we uitgelegd hoe je meerdere voorwaarden kunt gebruiken met de if-else-instructie in Bash. We gebruiken bash-logische operatoren om meerdere voorwaarden samen te voegen.
#!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi
Uitvoer
Bash If Else-verklaring op één regel
We kunnen een volledige 'if-else-instructie' samen met de opdrachten op één regel schrijven. U moet de gegeven regels volgen om de if-else-instructie op één regel te gebruiken:
- Gebruik een puntkomma (;) aan het einde van instructies in if- en else-blokken.
- Gebruik spaties als scheidingsteken om alle uitspraken toe te voegen.
Hieronder wordt een voorbeeld gegeven dat laat zien hoe u de if-else-instructie op één regel kunt gebruiken:
Voorbeeld
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi
Uitvoer
Wanneer we een waarde invoeren als 25, ziet de uitvoer er als volgt uit:
Bash genest als anders
Net als een geneste if-instructie kan de if-else-instructie ook in een andere if-else-instructie worden gebruikt. In Bash-scripting wordt dit geneste if-else genoemd.
Hieronder volgt een voorbeeld waarin wordt uitgelegd hoe u gebruik kunt maken van de geneste if-else-instructie in Bash:
Voorbeeld
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo '$value>9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>