logo

Bash If

Šioje temoje mes suprasime, kaip naudoti jei pareiškimai Bash scenarijuose, kad mūsų automatizuotos užduotys būtų baigtos.

Bash, jei pareiškimai yra naudingi. Jie naudojami sąlyginėms užduotims atlikti nuosekliame teiginių vykdymo sraute. Jei teiginiai paprastai leidžia mums priimti sprendimus mūsų Bash scenarijuose. Jie padeda mums nuspręsti, ar vykdyti tam tikrą kodų dalį, remiantis sąlyga, kurią galime nustatyti.

Pagrindiniai if pareiškimai

Pagrindinis if sakinys nurodo, kad jei tam tikra sąlyga yra teisinga, tada atlikite tik nurodytą veiksmų rinkinį. Jei tai netiesa, neatlikite tų veiksmų. Jei pareiškimas pagrįstas tokiu formatu:

Sintaksė

 if [ expression ]; then statements fi 

Pareiškimas tarp tada ir būti (Jei atgal) bus vykdomas tik tuo atveju, jei išraiška (tarp laužtinių skliaustų) yra teisinga.

Pastaba:Stebėkite tarpus, naudojamus pirmoje eilutėje, ir kabliataškį pirmosios eilutės pabaigoje; abu yra privalomi naudoti.Jei sąlyginis teiginysbaigiasi subūti.

  • Jei norite naudoti kelias sąlygas su operatoriumi AND:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Jei norite naudoti kelias sąlygas su operatoriumi OR:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Sudėtinėms išraiškoms su operatoriais AND & OR galime naudoti šią sintaksę:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

Toliau pateikiami keli if teiginio naudojimą demonstruojantys pavyzdžiai:

1 pavyzdys

Šiame pavyzdyje paimkite vartotojo įvestą bet kokį skaičių ir patikrinkite, ar reikšmė didesnė nei 125.

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

Išvestis

Jei įvesime skaičių 159, tada išvestis atrodys taip:

stygų metodai java
Bash If pareiškimas

2 pavyzdys

Šiame pavyzdyje demonstruojame naudojimą jei teiginys naudojant paprastą dviejų eilučių palyginimo scenarijų:

 #!/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 

Išvestis

Bash If pareiškimas

3 pavyzdys

Šiame pavyzdyje parodome, kaip palyginti skaičius naudojant if teiginį:

 #!/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 

Išvestis

Bash If pareiškimas

4 pavyzdys

Šiame pavyzdyje apibrėžsime, kaip naudoti operatorių AND, kad į if reiškinį būtų įtrauktos kelios sąlygos:

 #!/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 

Išvestis

python konstruktorius
Bash If pareiškimas

5 pavyzdys

Šiame pavyzdyje apibrėžsime, kaip naudoti operatorių OR, kad į if reiškinį būtų įtrauktos kelios sąlygos:

 #!/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 

Išvestis

Bash If pareiškimas

6 pavyzdys

Šiame pavyzdyje apibrėžsime, kaip naudoti AND ir OR, kad į if reiškinį būtų įtrauktos kelios sąlygos:

 #!/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 

Išvestis

Bash If pareiškimas

„If“ teiginio parinktys „Bash Scripting“.

Jei sakinyje yra daug parinkčių atlikti konkrečią užduotį. Šios parinktys gali būti naudojamos failų operacijoms, eilutės operacijoms ir kt. Toliau pateikiamos kelios dažniausiai naudojamos parinktys:

-
Parinktys (operatoriai) apibūdinimas
! IŠRAIŠKA Norėdami patikrinti, ar EXPRESSION yra klaidinga.
-n STRING Norėdami patikrinti, ar STRING ilgis yra didesnis už nulį.
-z STRING Norėdami patikrinti, ar STRING ilgis lygus nuliui (t. y. jis tuščias)
STRING1 == STRING2 Norėdami patikrinti, ar STRING1 yra lygus STRING2.
STRING1 != STRING2 Norėdami patikrinti, ar STRING1 nėra lygus STRING2.
INTEGER1 -eq INTEGER2 Norėdami patikrinti, ar INTEGER1 skaičiais lygus INTEGER2.
INTEGER1 -gt INTEGER2 Norėdami patikrinti, ar INTEGER1 skaičius yra didesnis nei INTEGER2.
INTEGER1 -lt INTEGER2 Norėdami patikrinti, ar INTEGER1 yra mažesnis nei INTEGER2.
-d FAILAS Norėdami patikrinti, ar FILE yra ir ar tai yra katalogas.
-e FAILAS Norėdami patikrinti, ar yra FILE.
-r FAILAS Norėdami patikrinti, ar yra FILE ir ar yra suteiktas leidimas skaityti.
-s FAILAS Norėdami patikrinti, ar FILE yra ir ar jo dydis yra didesnis nei nulis (tai reiškia, kad jis nėra tuščias).
-w FAILAS Norėdami patikrinti, ar yra FILE ir ar yra suteiktas leidimas rašyti.
x FILE Norėdami patikrinti, ar yra FILE ir ar yra suteiktas leidimas vykdyti.

Įdėtas Jei

Bash scenarijuje galite taikyti tiek „if teiginių“, kiek reikia. Taip pat galima naudoti if sakinį kitame „if sakinyje“. Jis žinomas kaip įdėtas If pareiškimas.

Pavyzdys

Šiame pavyzdyje rasime „jei nurodytas skaičius didesnis nei 50 ir jei tai lyginis skaičius“, naudodami įdėtą if išraišką.

 #!/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 

Išvestis

Jei įvesime argumento reikšmę kaip 100, tada išvestis atrodys taip:

Bash If pareiškimas

Išvada

Šioje temoje aptarėme, kaip galėtume naudoti sąlyginį išsišakojimą nuosekliame sakinių vykdymo sraute su sakiniu bash if.