Tässä aiheessa ymmärrämme kuinka käyttää if-else-lauseita Bash-skripteissä automatisoitujen tehtäviemme suorittamiseen.
Bash if-else -lauseita käytetään ehdollisten tehtävien suorittamiseen lauseiden peräkkäisessä suorituskulussa. Joskus haluamme käsitellä tietyn lausejoukon, jos ehto on tosi, ja toisen lausejoukon, jos se on epätosi. Tällaisten toimintojen suorittamiseksi voimme soveltaa if-else-mekanismia. Voimme soveltaa ehtoa 'if-lauseella'.
Bash If Else -syntaksi
If-else-lauseen syntaksi Bash Shell Scriptingissa voidaan määritellä seuraavasti:
if [ condition ]; then else fi
Tärkeitä huomioita
- Voimme käyttää yhden tai useamman ehdon joukkoa, jotka on yhdistetty ehdollisilla operaattoreilla.
- Else-lohkokomennot sisältävät joukon toimintoja, jotka suoritetaan, kun ehto on epätosi.
- Puolipiste (;) ehdollisen lausekkeen jälkeen on pakollinen.
Katso seuraavat esimerkit, jotka osoittavat if-else-käskyn käyttöä Bash-skriptissä:
Esimerkki 1
Seuraava esimerkki koostuu kahdesta eri skenaariosta, joissa ensimmäisessä if-else-lauseessa ehto on tosi ja toisessa if-else-lauseessa ehto on epätosi.
#!/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
Lähtö
Ensimmäisessä if-else lausekkeessa ehto ( 10 -gt 3 ) on tosi, joten if-lohkon lauseke suoritetaan. Kun taas toisessa if-else lausekkeessa ehto ( 3 -gt 10 ) on epätosi, joten else-lohkon käsky suoritetaan.
Esimerkki 2
Tässä esimerkissä selitimme kuinka käyttää useita ehtoja if-else-käskyn kanssa Bashissa. Käytämme loogisia bash-operaattoreita useiden ehtojen yhdistämiseen.
#!/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
Lähtö
Bash If Else -lausunto yhdellä rivillä
Voimme kirjoittaa täydellisen 'if-else -lausekkeen' komentojen ohella yhdelle riville. Sinun on noudatettava annettuja sääntöjä, jos haluat käyttää if-else-lausetta yhdellä rivillä:
- Käytä puolipistettä (;) lausekkeiden lopussa if- ja else-lohkoissa.
- Käytä välilyöntejä erottimena liittääksesi kaikki lauseet.
Alla on esimerkki, joka osoittaa kuinka if-else-lausetta käytetään yhdellä rivillä:
Esimerkki
#!/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
Lähtö
Kun annamme arvon 25, tulos näyttää tältä:
Bash Nested If Else
Aivan kuten sisäkkäisiä if-lauseita, if-else-lausetta voidaan käyttää myös toisen if-else-lauseen sisällä. Bash-komentosarjassa sitä kutsutaan sisäkkäiseksi if-else-ksi.
Seuraavassa on esimerkki, joka selittää, kuinka sisäkkäistä if-else-lausetta käytetään Bashissa:
Esimerkki
#!/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'>