Pogojni stavki: Obstaja skupno 5 pogojnih stavkov, ki jih je mogoče uporabiti v bash programiranju
- izjava if
- stavek if-else
- if..elif..else..fi stavek (lestev Else If)
- if..then..else..if..then..fi..fi..(Ugnezdeno če)
- izjava o preklopu
Njihov opis s sintakso je naslednji:
izjava if
Ta blok bo obdelan, če je podani pogoj resničen.
Sintaksa:
if [ expression ] then statement fi>
stavek if-else
Če podani pogoj ni resničen v delu if, bo izveden del else.
Sintaksa
if [ expression ] then statement1 else statement2 fi>
if..elif..else..fi stavek (lestev Else If)
Za uporabo več pogojev v enem bloku if-else se v lupini uporabi ključna beseda elif. Če je izraz1 resničen, potem izvede stavek 1 in 2 in ta postopek se nadaljuje. Če nobeden od pogojev ni resničen, obdela drugi del.
Sintaksa
if [ expression1 ] then statement1 statement2 . . elif [ expression2 ] then statement3 statement4 . . else statement5 fi>
if..then..else..if..then..fi..fi..(Ugnezdeno če)
Ugnezdeni blok if-else se lahko uporabi, ko je en pogoj izpolnjen, nato pa ponovno preveri drug pogoj. V sintaksi, če je izraz1 napačen, potem obdela drugi del in ponovno bo preverjen izraz2.
Sintaksa:
if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi>
izjava o preklopu
stavek case deluje kot stavek switch, če se določena vrednost ujema z vzorcem, potem bo izvedel blok tega določenega vzorca
Ko se najde ujemanje, se izvedejo vsi povezani stavki do dvojnega podpičja (;;).
Primer bo zaključen, ko bo izveden zadnji ukaz.
Če ujemanja ni, je izhodni status primera nič.
Sintaksa:
case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>
Primeri programov
Primer 1:
Izvajanjeif>izjava
#Initializing two variables> a=10> b=20> > #Check whether they are equal> if> [>$a> ==>$b> ]> then> >echo> 'a is equal to b'> fi> > #Check whether they are not equal> if> [>$a> !=>$b> ]> then> >echo> 'a is not equal to b'> fi> |
>
>
Izhod
$bash -f main.sh a is not equal to b>
Primer 2:
Izvajanjeif.else>izjava
#Initializing two variables> a=20> b=20> > if> [>$a> ==>$b> ]> then> >#If they are equal then>print> this> >echo> 'a is equal to b'> else> >#>else> print> this> >echo> 'a is not equal to b'> fi> |
>
>
Izhod
$bash -f main.sh a is equal to b>
Primer 3:
Izvajanjeswitch>izjava
CARS=>'bmw'> > #Pass the variable in string> case> '$CARS'> in> >#>case> 1> >'mercedes'>)>echo> 'Headquarters - Affalterbach, Germany'> ;;> > >#>case> 2> >'audi'>)>echo> 'Headquarters - Ingolstadt, Germany'> ;;> > >#>case> 3> >'bmw'>)>echo> 'Headquarters - Chennai, Tamil Nadu, India'> ;;> esac> |
>
>
Izhod
$bash -f main.sh Headquarters - Chennai, Tamil Nadu, India.>
Opomba: Skriptna lupina je jezik, ki razlikuje med velikimi in malimi črkami, kar pomeni, da je treba med pisanjem skriptov upoštevati pravilno sintakso.
znak v int java