logo

Bash If

Tässä aiheessa ymmärrämme kuinka käyttää jos lausunnot Bash-skripteissä, jotta voimme suorittaa automatisoidut tehtävämme.

Bash jos lausunnoista on hyötyä. Niitä käytetään ehdollisten tehtävien suorittamiseen lauseiden peräkkäisessä suorituksessa. Jos lausunnot antavat meille yleensä mahdollisuuden tehdä päätöksiä Bash-skripteissämme. Ne auttavat meitä päättämään, suoritetaanko koodinpätkä sen ehdon perusteella, jonka voimme asettaa.

Basic if -lausunnot

Perus if-lause komento, että jos tietty ehto on tosi, suorita vain tietty joukko toimintoja. Jos se ei ole totta, älä suorita näitä toimia. Jos lausunto perustuu seuraavaan muotoon:

Syntaksi

 if [ expression ]; then statements fi 

Lausunto välillä sitten ja olla (Jos taaksepäin) suoritetaan vain, jos lauseke (hakasulkujen välissä) on tosi.

dynaaminen java-taulukko

Huomautus:Huomioi ensimmäisellä rivillä käytetyt välilyönnit ja ensimmäisen rivin lopussa oleva puolipiste; molempien käyttö on pakollista.Jos ehdollinen lausuntoloppuuolla.

  • Useiden ehtojen käyttäminen AND-operaattorin kanssa:
 if [ expression_1 ] && [ expression_2 ]; then statements fi 
  • Useiden ehtojen käyttäminen OR-operaattorin kanssa:
 if [ expression_1 ] || [ expression_2 ]; then statements fi 
  • Yhdistetyissä lausekkeissa, joissa on AND & OR -operaattoreita, voimme käyttää seuraavaa syntaksia:
 if [ expression_1 && expression_2 || expression_3 ]; then statements fi 

Seuraavassa on joitain esimerkkejä if-lausekkeen käytöstä:

Esimerkki 1

Syötä tässä esimerkissä mikä tahansa luku ja tarkista, onko arvo suurempi kuin 125.

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

Lähtö

Jos annamme numeron 159, tulos näyttää tältä:

Bash If -lausunto

Esimerkki 2

Tässä esimerkissä havainnollistetaan käyttö jos lausunto yksinkertaisella skenaariolla, jossa verrataan kahta merkkijonoa:

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

Lähtö

c++ merkkijonon jako
Bash If -lausunto

Esimerkki 3

Tässä esimerkissä näytämme kuinka vertailla lukuja käyttämällä if-lausetta:

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

Lähtö

Bash If -lausunto

Esimerkki 4

Tässä esimerkissä määritetään, kuinka AND-operaattoria käytetään useiden ehtojen sisällyttämiseen if-lausekkeeseen:

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

Lähtö

Bash If -lausunto

Esimerkki 5

Tässä esimerkissä määritetään, kuinka OR-operaattoria käytetään useiden ehtojen sisällyttämiseen if-lausekkeeseen:

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

Lähtö

Bash If -lausunto

Esimerkki 6

Tässä esimerkissä määritämme, kuinka AND- ja OR-funktioita käytetään useiden ehtojen sisällyttämiseen if-lausekkeeseen:

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

Lähtö

heittää int merkkijonoon java
Bash If -lausunto

If-lausekkeen asetukset Bash-komentosarjassa

Jos lauseke sisältää useita vaihtoehtoja tietyn tehtävän suorittamiseksi. Näitä valintoja voidaan käyttää tiedostooperaatioihin, merkkijonotoimintoihin jne. Seuraavassa on joitain yleisimmin käytettyjä valintoja:

-
Vaihtoehdot (operaattorit) Kuvaus
! ILMAISU Tarkistaaksesi, onko LAUSUNTA väärä.
-n STRING Tarkistaa, onko STRING pituus suurempi kuin nolla.
-z STRING Tarkistaa, onko STRING:n pituus nolla (eli se on tyhjä)
STRING1 == STRING2 Tarkistaa, onko STRING1 yhtä kuin STRING2.
STRING1 != STRING2 Tarkistaaksesi, onko STRING1 eri kuin STRING2.
KOKONAISLUKU1 -eq KOKONAISLUKU2 Tarkistaa, onko KOKONAISLUKU1 numeerisesti yhtä suuri kuin KOKONAISLUKU2.
KOKONAISLUKU1 -gt KOKONAISLUKU2 Tarkistaa, onko KOKONAISLUKU1 numeerisesti suurempi kuin KOKONAISLUKU2.
KOKONAISLUKU1 -lt KOKONAISLUKU2 Tarkistaa, onko KOKONAISLUKU1 numeerisesti pienempi kuin KOKONAISLUKU2.
-d TIEDOSTO Tarkistaa, onko FILE olemassa ja onko se hakemisto.
-e TIEDOSTO Tarkistaaksesi, onko FILE olemassa.
-r TIEDOSTO Tarkistaa, onko FILE olemassa ja onko lukuoikeus myönnetty.
-s TIEDOSTO Tarkistaa, onko TIEDOSTO olemassa ja sen koko suurempi kuin nolla (eli se ei ole tyhjä).
-w TIEDOSTO Tarkistaa, onko FILE olemassa ja onko kirjoitusoikeus myönnetty.
x FILE Tarkistaa, onko TIEDOSTO olemassa ja onko suorituslupa myönnetty.

Sisäkkäinen If

Voit käyttää niin monta if-lausetta kuin vaaditaan bash-skriptissäsi. On myös mahdollista käyttää if-lausetta toisen 'if-lauseen' sisällä. Se tunnetaan nimellä Nested If Statement.

Esimerkki

Tässä esimerkissä löydämme 'jos annettu luku on suurempi kuin 50 ja jos se on parillinen luku' käyttämällä sisäkkäistä if -lauseketta.

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

Lähtö

Jos syötämme argumentin arvon 100, tulos näyttää tältä:

Bash If -lausunto

Johtopäätös

Tässä aiheessa keskustelimme siitä, kuinka voisimme käyttää ehdollista haarautumista lauseiden peräkkäisessä suorituksessa bash if -lauseen kanssa.