In Bash-Skripten prüft die if-Anweisung, ob eine Bedingung wahr ist oder nicht. Wenn dies der Fall ist, führt die Shell den Codeblock aus, der der if-Anweisung zugeordnet ist. Wenn die Anweisung nicht wahr ist, springt die Shell über das Ende des if-Anweisungsblocks hinaus und fährt fort.
In dieser Anleitung lernen wir, wie man if, if else, If..elif..else..fi-Anweisungen verwendet. If-else-Anweisung wird auch als bedingte Anweisung in Bash-Skripten bezeichnet.
if-Anweisung
Syntax:
if [ condition_command ]
then
command1
command2
……..
last_command
fi
Beispiel:
Im folgenden Beispiel für ein Bash-Skript vergleichen wir zwei Zahlen mit der if condi-Anweisung.
#!/bin/bash number=150 if [ $number -eq 150 ] then echo "Number is 150" fi
if-else-Anweisung
Zusätzlich zur normalen if-Anweisung können wir die if-Anweisung um einen else-Block erweitern. Die Grundidee ist, dass, wenn die Anweisung wahr ist, der if-Block ausgeführt wird. Wenn die Anweisung false ist, dann führe den else-Block aus. Hier ist Block der Befehlssatz.
Syntax:
if [ condition_command ]
then
command1
command2
……..
last_command
else
command1
command2
……..
last_command
fi
Beispiel:
#!/bin/bash number=150 if [ $number -gt 250 ] then echo "Number is greater" else echo "Number is smaller" fi
If..elif..else-Anweisung
Wenn Sie im Bash-Skript mehrere Bedingungen mit der if-Anweisung anwenden möchten, verwenden Sie „if elif else“. Wenn bei dieser Art von bedingter Anweisung die erste Bedingung erfüllt ist, wird der folgende Code ausgeführt. Andernfalls wird die nächste Bedingung überprüft, und wenn sie nicht zutrifft, werden die unten genannten Else-Anweisungen ausgeführt. Die Syntax und das Beispiel sind unten dargestellt.
Syntax:
if [ condition_command ]
then
command1
command2
……..
last_command
elif [ condition_command2 ]
then
command1
Befehl2
……..
letzter_Befehl
sonst
Befehl1
Befehl2
……..
letzter_Befehl
fi
Beispiel:
#!/bin/bash number=150 if [ $number -gt 300 ] then echo "Number is greater" elif [ $number -lt 300 ] then echo "Number is Smaller" else echo "Number is equal to actual value" fi
Verschachtelte if-Anweisungen
If-Anweisung und Else-Anweisung können in einem Bash-Skript verschachtelt werden. Das Schlüsselwort „fi“ zeigt das Ende der inneren if-Anweisung und alle if-Anweisungen sollten mit dem Schlüsselwort „fi“ enden.
Die grundlegende Syntax von verschachtelten ifs wird unten gezeigt:
if [ condition_command ]
then
command1
command2
……..
last_command
else
if [ condition_command2 ]
then
Befehl1
Befehl2
……..
letzter_Befehl
sonst
Befehl1
Befehl2
……..
last_command
fi
fi
Beispiel:
#!/bin/bash number=150 if [ $number -eq 150 ] then echo "Number is 150" else if [ $number -gt 150 ] then echo "Number is greater" else echo "'Number is smaller" fi fi