logo

Voorwaardelijke verklaringen | Shell-script

Voorwaardelijke stellingen: Er zijn in totaal 5 voorwaardelijke instructies die kunnen worden gebruikt bij bash-programmering

  1. als verklaring
  2. if-else verklaring
  3. if..elif..else..fi-instructie (Else If-ladder)
  4. if..then..else..if..then..fi..fi..(Geneste if)
  5. schakel verklaring

Hun beschrijving met syntaxis is als volgt:

als verklaring
Dit blok wordt verwerkt als de opgegeven voorwaarde waar is.
Syntaxis:



if [ expression ] then statement fi>

if-else verklaring
Als de opgegeven voorwaarde niet waar is in if part, wordt else part uitgevoerd.
Syntaxis

if [ expression ] then statement1 else statement2 fi>

if..elif..else..fi-instructie (Else If-ladder)
Om meerdere voorwaarden in één if-else-blok te gebruiken, wordt het trefwoord elif in shell gebruikt. Als expression1 waar is, voert het statement 1 en 2 uit, en dit proces gaat door. Als geen van de voorwaarden waar is, wordt een ander deel verwerkt.
Syntaxis

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

if..then..else..if..then..fi..fi..(Geneste if)
Een genest if-else-blok kan worden gebruikt wanneer aan één voorwaarde wordt voldaan en vervolgens opnieuw een andere voorwaarde wordt gecontroleerd. Als expression1 in de syntaxis onwaar is, wordt het else-gedeelte verwerkt, en opnieuw wordt expression2 check.
Syntaxis:

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

schakel verklaring
case-instructie werkt als een switch-instructie als de opgegeven waarde overeenkomt met het patroon, dan zal het een blok van dat specifieke patroon uitvoeren
Wanneer er een overeenkomst wordt gevonden, worden alle bijbehorende uitspraken gedaan totdat de dubbele puntkomma (;;) wordt uitgevoerd.
Een case wordt beëindigd wanneer het laatste commando wordt uitgevoerd.
Als er geen match is, is de afsluitstatus van de zaak nul.

Syntaxis:

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

Voorbeeldprogramma's

Voorbeeld 1:
Implementerenif>stelling




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

>

>

Uitvoer

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

Voorbeeld 2:
Implementerenif.else>stelling




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

>

>

Uitvoer

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

Voorbeeld 3:
Implementerenswitch>stelling




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>

>

>

Uitvoer

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

Opmerking: Shell-scripting is een hoofdlettergevoelige taal, wat betekent dat de juiste syntaxis moet worden gevolgd tijdens het schrijven van de scripts.

Java-multithreading