Pogojni stavki | Shell Script

Pogojni stavki: Obstaja skupno 5 pogojnih stavkov, ki jih je mogoče uporabiti v bash programiranju

  1. izjava if
  2. stavek if-else
  3. if..elif..else..fi stavek (lestev Else If)
  4. if..then..else..if..then..fi..fi..(Ugnezdeno če)
  5. 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:
Izvajanje if> 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:
Izvajanje if.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:
Izvajanje switch> 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.