V tej temi bomo razumeli, kako uporabiti stavke if-else v skriptih Bash za dokončanje naših avtomatiziranih nalog.
Stavki bash if-else se uporabljajo za izvajanje pogojnih nalog v zaporednem toku izvajanja stavkov. Včasih želimo obdelati določen niz izjav, če je pogoj resničen, in drug niz izjav, če je napačen. Za izvedbo tovrstnih dejanj lahko uporabimo mehanizem if-else. Pogoj lahko uporabimo s stavkom 'if'.
Sintaksa Bash If Else
Sintakso izjave if-else v skriptni lupini Bash je mogoče definirati kot spodaj:
if [ condition ]; then else fi
Pomembne točke, ki si jih morate zapomniti
- Uporabimo lahko niz enega ali več pogojev, združenih s pogojnimi operatorji.
- Else block commands vključuje nabor dejanj, ki jih je treba izvesti, ko je pogoj napačen.
- Podpičje (;) za pogojnim izrazom je obvezno.
Oglejte si naslednje primere, ki prikazujejo uporabo stavka if-else v skriptu Bash:
Primer 1
Naslednji primer je sestavljen iz dveh različnih scenarijev, kjer je v prvem stavku if-else pogoj resničen, v drugem stavku if-else pa je pogoj napačen.
#!/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
Izhod
V prvem izrazu if-else je pogoj ( 10 -gt 3 ) resničen in zato se izvede stavek v bloku if. Medtem ko je v drugem izrazu if-else pogoj ( 3 -gt 10 ) napačen, zato se izvede stavek v bloku else.
Primer 2
V tem primeru smo razložili, kako uporabiti več pogojev s stavkom if-else v Bashu. Za združevanje več pogojev uporabljamo logične operatorje bash.
#!/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
Izhod
Bash If Else stavek v eni vrstici
V eni vrstici lahko skupaj z ukazi napišemo celoten 'izjavo if-else'. Če želite uporabiti stavek if-else v eni vrstici, morate upoštevati dana pravila:
- Uporabite podpičje (;) na koncu stavkov v blokih if in else.
- Uporabite presledke kot ločilo, da dodate vse izjave.
Spodaj je podan primer, ki prikazuje, kako uporabiti stavek if-else v eni vrstici:
Primer
#!/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
Izhod
Ko vnesemo vrednost kot 25, bo rezultat videti takole:
Bash ugnezdeni Če drugače
Tako kot ugnezdeni stavek if je tudi stavek if-else mogoče uporabiti znotraj drugega stavka if-else. Imenuje se ugnezdeni if-else v skriptih Bash.
Sledi primer, ki pojasnjuje, kako uporabiti ugnezdeni stavek if-else v Bashu:
Primer
#!/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'>