V tej temi bomo razumeli, kako uporabiti izjave else-if (elif) v skriptih Bash za dokončanje naših avtomatiziranih nalog.
Bash else-if stavek se uporablja za več pogojev. Je kot dodatek k stavku Bash if-else. V Bash elif je lahko več blokov elif z logičnim izrazom za vsakega od njih. V primeru prvega 'stavka if', če je pogoj napačen, se preveri drugi 'if pogoj'.
Sintaksa Bash Else If (elif)
Sintakso stavka else-if v skriptni lupini Bash lahko definiramo kot:
java typeof spremenljivka
if [ condition ]; then elif [ condition ]; then else fi
Tako kot if-else lahko uporabimo nabor enega ali več pogojev, združenih s pogojnimi operatorji. Nabor ukazov se izvede, ko je pogoj izpolnjen. Če ni pravega pogoja, se izvede blok ukazov znotraj 'stavka else'.
Sledi nekaj primerov, ki prikazujejo uporabo stavka else-if:
Primer 1
Naslednji primer je sestavljen iz dveh različnih scenarijev, kjer je prvi stavek else-if pogoj resničen, v drugem stavku else-if pa je pogoj napačen.
Bash skript
#!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 100 ]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'Eligible for 5% discount' else echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' fi
Izhod
- Če vnesemo število količine kot 110, potem je pogoj 'stavka if' ovrednoten kot res in rezultat je videti tako:
- Če vnesemo število količine kot 90, potem je pogoj 'izjave elif' ovrednoten kot true, izhod pa je videti takole:
- Če vnesemo število količine kot 100, noben pogoj ne bo resničen. V tem primeru se izvede blok ukazov znotraj 'stavka else' in rezultat je videti tako:
Tako deluje osnovni bash else-if.
linux free ipconfig
Primer 2
Ta primer prikazuje, kako uporabiti več pogojev s stavkom else-if v Bashu. Za združevanje več pogojev uporabljamo logične operatorje bash.
Bash skript
zgodovina v Javi
#!/bin/bash read -p 'Enter a number of quantity:' num if [ $num -gt 200 ]; then echo 'Eligible for 20% discount' elif [[ $num == 200 || $num == 100 ]]; then echo 'Lucky Draw Winner' echo 'Eligible to get the item for free' elif [[ $num -gt 100 && $num -lt 200 ]]; then echo 'Eligible for 10% discount' elif [ $num -lt 100 ]; then echo 'No discount' fi
Opomba: Upoštevati je treba, da blok else ni obvezen.
Izhod
Če vnesemo število količine kot 100, bo rezultat videti takole:
Preizkusite ta primer z vnosom različnih vrednosti in preverite rezultate.
Zaključek
V tej temi smo se s primeri naučili sintakse in uporabe stavka Bash else-if.