logo

Bash Als

In dit onderwerp zullen we begrijpen hoe te gebruiken als uitspraken in Bash-scripts om onze geautomatiseerde taken te voltooien.

Bash als uitspraken nuttig zijn. Ze worden gebruikt om voorwaardelijke taken uit te voeren in de sequentiële stroom van uitvoering van instructies. If-statements stellen ons meestal in staat beslissingen te nemen in onze Bash-scripts. Ze helpen ons te beslissen of we een stukje code wel of niet moeten uitvoeren, op basis van de voorwaarde die we stellen.

Basis if-verklaringen

Een eenvoudige if-instructie geeft de opdracht dat als een bepaalde voorwaarde waar is, alleen een bepaalde reeks acties moet worden uitgevoerd. Als het niet waar is, voer die acties dan niet uit. Als de verklaring is gebaseerd op het volgende formaat:

Syntaxis

 if [ expression ]; then statements fi 

De verklaring tussen Dan En zijn (If backwards) wordt alleen uitgevoerd als de uitdrukking (tussen de vierkante haakjes) waar is.

Opmerking:Let op de spaties die in de eerste regel worden gebruikt en op een puntkomma aan het einde van de eerste regel; beide zijn verplicht om te gebruiken.Indien voorwaardelijke verklaringeindigt metzijn.

  • Voor het gebruik van meerdere voorwaarden met AND-operator:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Voor het gebruik van meerdere voorwaarden met de OR-operator:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Voor samengestelde expressies met AND & OR-operatoren kunnen we de volgende syntaxis gebruiken:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

Hieronder volgen enkele voorbeelden die het gebruik van de if-instructie demonstreren:

voorbeeld 1

In dit voorbeeld neemt u een gebruikersinvoer van een willekeurig getal en controleert u of de waarde groter is dan 125.

arrays java
 #!/bin/bash read -p ' Enter number : ' number if [ $number -gt 125 ] then echo 'Value is greater than 125' fi 

Uitvoer

Als we het getal 159 invoeren, ziet de uitvoer er als volgt uit:

Bash If-verklaring

Voorbeeld 2

In dit voorbeeld demonstreren we het gebruik van als verklaring met een eenvoudig scenario waarin twee strings worden vergeleken:

 #!/bin/bash # if condition is true if [ 'myfile' == 'myfile' ]; then echo 'true condition' fi # if condition is false if [ 'myfile' == 'yourfile' ]; then echo 'false condition' fi 

Uitvoer

Bash If-verklaring

Voorbeeld 3

In dit voorbeeld laten we zien hoe u getallen kunt vergelijken met behulp van de if-instructie:

 #!/bin/bash #if condition (greater than) is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' fi #if condition (greater than) is false if [ 3 -gt 10 ]; then echo '3 is not greater than 10.' fi #if condition (lesser than) is true if [ 3 -lt 10 ]; then echo '3 is less than 10.' fi #if condition (lesser than) is false if [ 10 -lt 3 ]; then echo '10 is not less than 3.' fi #if condition (equal to) is true if [ 10 -eq 10 ]; then echo '10 is equal to 10.' fi #if condition (equal to) is false if [ 10 -eq 9 ]; then echo '10 is not equal to 9' fi 

Uitvoer

Bash If-verklaring

Voorbeeld 4

In dit voorbeeld definiëren we hoe de AND-operator moet worden gebruikt om meerdere voorwaarden op te nemen in de if-expressie:

 #!/bin/bash # TRUE && TRUE if [ 8 -gt 6 ] && [ 10 -eq 10 ]; then echo 'Conditions are true' fi # TRUE && FALSE if [ 'mylife' == 'mylife' ] && [ 3 -gt 10 ]; then echo 'Conditions are false' fi 

Uitvoer

java nulcontrole
Bash If-verklaring

Voorbeeld 5

In dit voorbeeld definiëren we hoe de OR-operator moet worden gebruikt om meerdere voorwaarden op te nemen in de if-expressie:

 #!/bin/bash # TRUE || FALSE if [ 8 -gt 7 ] || [ 10 -eq 3 ]; then echo ' Condition is true. ' fi # FALSE || FALSE if [ 'mylife' == 'yourlife' ] || [ 3 -gt 10 ]; then echo ' Condition is false. ' fi 

Uitvoer

Bash If-verklaring

Voorbeeld 6

In dit voorbeeld definiëren we hoe AND en OR moeten worden gebruikt om meerdere voorwaarden op te nemen in de if-expressie:

 #!/bin/bash # TRUE && FALSE || FALSE || TRUE if [[ 10 -eq 10 && 5 -gt 4 || 3 -eq 4 || 3 -lt 6 ]]; then echo 'Condition is true.' fi # TRUE && FALSE || FALSE if [[ 8 -eq 8 && 8 -gt 10 || 9 -lt 5 ]]; then echo 'Condition is false' fi 

Uitvoer

Bash If-verklaring

Opties voor If-instructie in Bash-scripting

De If-instructie bevat veel opties om een ​​specifieke taak uit te voeren. Deze opties kunnen worden gebruikt voor bestandsbewerkingen, tekenreeksbewerkingen, enz. Hieronder volgen enkele meest gebruikte opties:

-
Opties (operatoren) Beschrijving
! UITDRUKKING Om te controleren of EXPRESSION onwaar is.
-n STREEK Om te controleren of de lengte van STRING groter is dan nul.
-z STREEK Controleren of de lengte van STRING nul is (dat wil zeggen dat deze leeg is)
STRING1 == STRING2 Om te controleren of STRING1 gelijk is aan STRING2.
STRING1 != STRING2 Om te controleren of STRING1 niet gelijk is aan STRING2.
INTEGER1 -eq INTEGER2 Om te controleren of INTEGER1 numeriek gelijk is aan INTEGER2.
INTEGER1 -gt INTEGER2 Om te controleren of INTEGER1 numeriek groter is dan INTEGER2.
INTEGER1 -lt INTEGER2 Om te controleren of INTEGER1 numeriek kleiner is dan INTEGER2.
-d BESTAND Om te controleren of BESTAND bestaat en het een map is.
-e BESTAND Om te controleren of BESTAND bestaat.
-r BESTAND Om te controleren of BESTAND bestaat en de leesmachtiging is verleend.
-s BESTAND Om te controleren of BESTAND bestaat en de grootte ervan groter is dan nul (wat betekent dat het niet leeg is).
-w BESTAND Om te controleren of BESTAND bestaat en de schrijfrechten zijn verleend.
x BESTAND Om te controleren of BESTAND bestaat en de uitvoeringsmachtiging is verleend.

Geneste Als

Je kunt zoveel 'if-statements' toepassen als nodig is in je bash-script. Het is ook mogelijk om een ​​if-statement binnen een ander 'if-statement' te gebruiken. Het staat bekend als Geneste If-instructie.

Voorbeeld

In dit voorbeeld zullen we ontdekken 'of een bepaald getal groter is dan 50 en of het een even getal is' met behulp van de geneste if-expressie.

 #!/bin/bash #Nested if statement if [  -gt 50 ] then echo 'Number is greater than 50.' if ((  % 2 == 0 )) then echo 'and it is an even number.' fi fi 

Uitvoer

Als we een argumentwaarde van 100 invoeren, ziet de uitvoer er als volgt uit:

Bash If-verklaring

Conclusie

In dit onderwerp hebben we besproken hoe we voorwaardelijke vertakking kunnen gebruiken in de sequentiële stroom van uitvoering van instructies met de bash if-instructie.