I det här ämnet kommer vi att förstå hur man använder if-else-satser i Bash-skript för att få våra automatiserade uppgifter slutförda.
Bash if-else-satser används för att utföra villkorliga uppgifter i det sekventiella flödet av exekvering av satser. Ibland vill vi bearbeta en specifik uppsättning påståenden om ett villkor är sant, och en annan uppsättning påståenden om det är falskt. För att utföra sådana typer av åtgärder kan vi använda om-else-mekanismen. Vi kan tillämpa villkoret med 'if-satsen'.
Bash If Else Syntax
En syntax för if-else-satsen i Bash Shell Scripting kan definieras enligt nedan:
if [ condition ]; then else fi
Viktiga punkter att komma ihåg
- Vi kan använda en uppsättning av ett eller flera villkor som sammanfogats med villkorliga operatorer.
- Annars innehåller blockkommandon en uppsättning åtgärder som ska utföras när villkoret är falskt.
- Semikolonet (;) efter det villkorliga uttrycket är ett måste.
Kolla in följande exempel som visar användningen av if-else-satsen i Bash Script:
Exempel 1
Följande exempel består av två olika scenarier där villkoret är sant i den första if-else-satsen och i den andra if-else-satsen är villkoret falskt.
#!/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
Produktion
I det första if-else-uttrycket är villkoret ( 10 -gt 3 ) sant och därför exekveras satsen i if-blocket. Medan i det andra if-else-uttrycket är villkoret ( 3 -gt 10 ) falskt och därför exekveras satsen i else-blocket.
Exempel 2
I det här exemplet förklarade vi hur man använder flera villkor med if-else-satsen i Bash. Vi använder bash logiska operatorer för att sammanfoga flera villkor.
#!/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
Produktion
Bash If Else-uttalande på en enda rad
Vi kan skriva komplett 'if-else-sats' tillsammans med kommandona på en enda rad. Du måste följa de givna reglerna för att använda if-else-satsen på en enda rad:
- Använd semikolon (;) i slutet av satser i if och else-block.
- Använd mellanslag som avgränsare för att lägga till alla påståenden.
Ett exempel ges nedan som visar hur man använder if-else-satsen på en enda rad:
Exempel
#!/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
Produktion
När vi anger ett värde som 25, kommer utgången att se ut så här:
Bash kapslade om annat
Precis som kapslad if-sats, kan if-else-satsen också användas i en annan if-else-sats. Det kallas kapslad if-else i Bash-skript.
Följande är ett exempel som förklarar hur man använder den kapslade if-else-satsen i Bash:
Exempel
#!/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'>