Kuinka kirjoittaa IF-lausunnot Bash-Script-ohjelmassa

Komennot, syntaksi ja esimerkit

If-lausekkeella, joka on eräänlainen ehdollinen lauseke, voit suorittaa erilaisia ​​toimia riippuen tietyistä ehdoista. Se antaa järjestelmälle mahdollisuuden tehdä päätöksiä.

Esimerkki if-lausunnon yksinkertaisimmasta muodosta olisi:

count = 5, jos [$ count == 5] sitten kaiku "$ count" fi

Tässä esimerkissä muuttujaa "count" käytetään määritellä ehto, jota käytetään osana if-lausetta. Ennen kuin if-statement toteutetaan, muuttujalla "count" annetaan arvo "5". If-statement sitten tarkistaa, onko "count" arvo "5". Jos näin on, avainsanojen "sitten" ja "fi" välinen lausuma suoritetaan, muuten if-lausunnon jälkeen tehdyt lausunnot suoritetaan. Avainsana "fi" on "jos" kirjoitettu taaksepäin. Yhteissuunnittelun kieli käyttää tätä yleissopimusta merkin monimutkaisen lausekkeen loppuun, kuten if-statement tai case-statements.

"Echo" -lauseke tulostaa sen argumentin, tässä tapauksessa muuttujan arvon "count", pääteikkunaan. If-lausekkeen avainsanojen koodin sisennys parantaa luettavuutta, mutta se ei ole välttämätöntä.

Jos sinulla on tilanne, jossa koodi on suoritettava vain, jos ehto ei ole tosi, voit käyttää avainsanaa "else" if-lausekkeessa, kuten tässä esimerkissä:

count = 5, jos [$ count == 5] sitten echo "$ count" muuten echo "count ei ole 5" fi

Jos ehto "$ count == 5" on tosi, järjestelmä tulostaa muuttujan arvon "count", muuten tulostaa merkkijonon "count no 5".

Jos haluat erottaa toisistaan ​​useita ehtoja, voit käyttää avainsanaa "elif", joka on peräisin muista maista, kuten tässä esimerkissä:

jos [$ count == 5] sitten echo "count on viisi" elif [$ count == 6] sitten echo "count on six" other echo "ei mitään edellä" fi

Jos "count" on "5", järjestelmä tulostaa "count on five". Jos "count" ei ole "5" mutta "6", järjestelmä tulostaa "count on six". Jos se ei ole "5" eikä "6", järjestelmä tulostaa "yksikään yllä olevista".

Kuten olette arvottaneet, sinulla voi olla useita "elif" -lausekkeita. Esimerkki useilla "elif" -olosuhteilla olisi:

jos [$ count == 5] sitten echo "count on five" elif [$ count == 6] sitten echo "count on six" elif [$ count == 7] sitten echo "count on seitsemän" elif [$ count = = 8] sitten kaiku "count on kahdeksan" elif [$ count == 9] sitten echo "count on nine" muuten kaiku "yksikään edellä" fi

Pienempi tapa kirjoittaa tällaisia ​​lausuntoja useilla ehdoilla on tapaustekniikka . Se toimii samanlaisella kuin if-lausekkeella, jossa on useita "elif" -lausekkeita, mutta on suppeampi. Esimerkiksi edellä mainittu koodi voidaan kirjoittaa uudelleen "case" -lausumaan seuraavasti:

case "$ count" in 5) echo "count on viisi" ;; 6) kaiku "count on six" ;; 7) kaiku "count on seitsemän" ;; 8) kaiku "count on kahdeksan" ;; 9) echo "count on yhdeksän" ;; *) echo "none edellä" esac

If-lausekkeita käytetään usein esimerkiksi for-silmukoiden tai silmukoiden aikana, kuten tässä esimerkissä:

count = 1 tehty = 0 kun [$ count -le 9] nukkuu 1 ((count ++)), jos [$ count == 5] jatka sitten fi echo "$ count" tehty echo Valmis

Voit myös käyttää sisäkkäisiä lausuntoja. Yksinkertaisin sisäkkäinen jos lausuma on muotoa: jos ... sitten ... muussa ... jos ... sitten ... fi ... fi. Kuitenkin jos-lausuma voi olla sisäkkäisiä mielivaltaisen monimutkaisuuden kanssa.

Katso myös, miten välitetään argumentteja bash-komentosarjalle , joka kertoo, kuinka ehtoja käytetään komentoriviltä siirrettyjen parametrien käsittelyyn.

Bash-kuori tarjoaa muita ohjelmointirakenteita, kuten for-silmukoita , while-silmukoita ja aritmeettisia lausekkeita .