Bedingte Anweisungen: Es gibt insgesamt 5 bedingte Anweisungen, die in der Bash-Programmierung verwendet werden können
- if-Anweisung
- if-else-Anweisung
- if..elif..else..fi-Anweisung (Else If-Leiter)
- if..then..else..if..then..fi..fi..(Verschachteltes if)
- 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