logo

Villkorliga uttalanden | Shell Script

Villkorliga uttalanden: Det finns totalt 5 villkorliga uttalanden som kan användas i bash-programmering

  1. om uttalande
  2. if-else uttalande
  3. if..elif..else..fi uttalande (Else If ladder)
  4. om..så..annat..om..så..fi..fi..(Inkapslade om)
  5. byta uttalande

Deras beskrivning med syntax är som följer:

om uttalande
Detta block kommer att bearbetas om det angivna villkoret är sant.
Syntax:



if [ expression ] then statement fi>

if-else uttalande
Om det angivna villkoret inte är sant i if-delen kommer en annan del att exekveras.
Syntax

if [ expression ] then statement1 else statement2 fi>

if..elif..else..fi uttalande (Else If ladder)
För att använda flera villkor i ett if-else-block, används nyckelordet elif i skalet. Om expression1 är sant så kör den påstående 1 och 2, och denna process fortsätter. Om inget av villkoren är sant behandlas den andra delen.
Syntax

if [ expression1 ] then statement1 statement2 . . elif [ expression2 ] then statement3 statement4 . . else statement5 fi>

om..så..annat..om..så..fi..fi..(Inkapslade om)
Kapslade if-else-block kan användas när ett villkor är uppfyllt och sedan kontrollerar det igen ett annat villkor. I syntaxen, om expression1 är false så bearbetar den else del, och återigen expression2 kommer att kontrolleras.
Syntax:

if [ expression1 ] then statement1 statement2 . else if [ expression2 ] then statement3 . fi fi>

byta uttalande
case-satsen fungerar som en switch-sats om det angivna värdet matchar mönstret så kommer det att exekvera ett block av det specifika mönstret
När en matchning hittas, alla associerade satser tills det dubbla semikolonet (;;) exekveras.
Ett ärende kommer att avslutas när det sista kommandot utförs.
Om det inte finns någon matchning är utgångsstatusen för ärendet noll.

Syntax:

case in Pattern 1) Statement 1;; Pattern n) Statement n;; esac>

Exempel program

Exempel 1:
Genomförandeif>påstående




#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>

>

>

Produktion

$bash -f main.sh a is not equal to b>

Exempel 2:
Genomförandeif.else>påstående




#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>

>

>

Produktion

$bash -f main.sh a is equal to b>

Exempel 3:
Genomförandeswitch>påstående




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>

>

>

Produktion

$bash -f main.sh Headquarters - Chennai, Tamil Nadu, India.>

Notera: Skalskript är ett skiftlägeskänsligt språk, vilket innebär att korrekt syntax måste följas när man skriver skripten.

java avgränsare