logo

Bedingte Anweisungen | Shell-Skript

Bedingte Anweisungen: Es gibt insgesamt 5 bedingte Anweisungen, die in der Bash-Programmierung verwendet werden können

  1. if-Anweisung
  2. if-else-Anweisung
  3. if..elif..else..fi-Anweisung (Else If-Leiter)
  4. if..then..else..if..then..fi..fi..(Verschachteltes if)
  5. switch-Anweisung

Ihre Beschreibung mit Syntax lautet wie folgt:

if-Anweisung
Dieser Block wird verarbeitet, wenn die angegebene Bedingung wahr ist.
Syntax:



if [ expression ] then statement fi>

if-else-Anweisung
Wenn die angegebene Bedingung im if-Teil nicht wahr ist, wird der else-Teil ausgeführt.
Syntax

if [ expression ] then statement1 else statement2 fi>

if..elif..else..fi-Anweisung (Else If-Leiter)
Um mehrere Bedingungen in einem if-else-Block zu verwenden, wird das Schlüsselwort elif in der Shell verwendet. Wenn Ausdruck1 wahr ist, werden die Anweisungen 1 und 2 ausgeführt und dieser Prozess wird fortgesetzt. Wenn keine der Bedingungen wahr ist, wird der andere Teil verarbeitet.
Syntax

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

if..then..else..if..then..fi..fi..(Verschachteltes if)
Ein verschachtelter if-else-Block kann verwendet werden, wenn eine Bedingung erfüllt ist und dann erneut eine andere Bedingung überprüft wird. Wenn Ausdruck1 in der Syntax falsch ist, wird der else-Teil verarbeitet, und Ausdruck2 wird erneut überprüft.
Syntax:

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

switch-Anweisung
Die Case-Anweisung fungiert als Switch-Anweisung. Wenn der angegebene Wert mit dem Muster übereinstimmt, wird ein Block dieses bestimmten Musters ausgeführt
Wenn eine Übereinstimmung gefunden wird, werden alle zugehörigen Anweisungen bis zum doppelten Semikolon (;;) ausgeführt.
Ein Fall wird beendet, wenn der letzte Befehl ausgeführt wird.
Wenn es keine Übereinstimmung gibt, ist der Exit-Status des Falls Null.

Syntax:

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

Beispielprogramme

Beispiel 1:
Umsetzenif>Stellungnahme




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

>

>

Ausgabe

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

Beispiel 2:
Umsetzenif.else>Stellungnahme




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

>

>

Ausgabe

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

Beispiel 3:
Umsetzenswitch>Stellungnahme




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>

>

>

Ausgabe

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

Notiz: Bei der Shell-Skripterstellung wird die Groß-/Kleinschreibung beachtet, was bedeutet, dass beim Schreiben der Skripts die richtige Syntax eingehalten werden muss.

Suchmaschine und Beispiele