Übersicht
In diesem Tutorial erfahren Sie, wie Sie Bash IF Else-Anweisungen in Ihren Shell-Befehlen verwenden.
Der logische IF-Operator wird häufig in Programmiersprachen verwendet, um den Fluss zu steuern. Sie verwenden es, um den Status eines Werts zu überprüfen, ob er einem anderen Wert entspricht oder nicht.oder ob es gesetzt ist oder nicht, zum Beispiel.
Wir werden uns zuerst die grundlegendeif
– Anweisung ansehen, die Bash ist, und dann zuif..else
undif..elif..else
.,
IF Bash-Anweisung
Die grundlegende Syntax einer IF-Anweisung in Bash sieht wie folgt aus. Wenn Sie Programmiererfahrung haben, werden Sie feststellen, dass es sich ziemlich von dem unterscheidet, was Sie gewohnt sind.
if TEST-COMMANDthen STATEMENTSfi
Mit der TEST-COMMAND
schreiben Sie Ihren Testfall, um zu überprüfen, ob etwas wahr ist oder nicht.
- Wenn Ihr Testergebnis wahr ist, wird eine Anweisung oder Anzahl von Anweisungen
- Wenn Ihr Testergebnis falsch ist, wird keine in Ihrer IF Anweisung definierte Anweisung ausgeführt.
WENN..,Else Bash Statement
Wenn Sie eine IF Anweisung execute statements schreiben, unabhängig davon, ob die Testergebnisse wahr oder falsch sind, verwenden Sie den Operator else
.
if TEST-COMMANDthen STATEMENTSelse STATEMENTSfi
Mit dem Operator else
führt Ihre if
Anweisung je nach Testfall einen anderen Satz von Anweisungen aus.
- Wenn ein Test zu true führt, führen Sie Anweisungen nach
then
- Wenn ein Test zu false führt, führen Sie Anweisungen nach dem logischen Operator
else
aus.,
IF ELIF Bash Statement
Mehrere IF-Tests können innerhalb eines einzelnen IF-Anweisungsblocks verwendet werden. Dazu wird mit BASH-oder Shell-Skript der Operator elif
verwendet.
if TEST-COMMANDthen STATEMENTSelif TEST-COMMAND STATEMENTSelse STATEMENTSfi
Im obigen Beispiel haben wir eine if
Anweisung mit einer elif
und einer else
kombiniert.
- Wenn der erste Test wahr ist, führen Sie sofort folgende Anweisungen aus.,
- Wenn der erste Test falsch ist und der zweite Testfall wahr ist, führen Sie Anweisungen unmittelbar nach der
elif
logisch aus. - Wenn die ersten beiden Testfälle false execute Anweisungen unmittelbar nach der
else
logisch zurückgeben.
Logische Operatoren
Wenn Sie Ihre Vergleichstests durchführen, verwenden Sie einen Operator. Operatoren werden für ganzzahlige Vergleiche, Zeichenfolgenvergleiche und Dateivergleiche bereitgestellt.,
Logische Operatoren für den ganzzahligen Vergleich
Bash-ganzzahlige Vergleiche
Wenn größer als oder sonst
Um zu überprüfen, ob ein Wert oder eine Variable größer als ein Wert ist, verwenden Sie das Flag -gt
in Ihrem Test.
]
In einem Beispiel wird geprüft, ob die Variable $foo
größer ist als 10
.,
if ]then echo $foo is greater than 10else echo $foo is not greater then 10fi
Wenn Weniger Als Sonst
if ]then echo $foo is greater than 10else echo $foo is not greater then 10fi
Wenn Sie Gleich sind, oder Sonst
if ]then echo $foo is greater than 10else echo $foo is not greater then 10fi
Bash-String-Vergleiche
Wenn die Variable Null ist
um Zu überprüfen, ob eine variable null ist (nicht gesetzt) verwenden Sie die -z
string Vergleichsoperatoren. Im folgenden Beispiel überprüfen wir, ob die Variable $foo
gesetzt ist.
if ]then echo "$foo is not set"fi
Wenn Variable ist nicht Null
um Zu überprüfen, ob eine variable nicht null ist, verwenden Sie die -n
string comparison operators., Um beispielsweise zu überprüfen, ob die Variable $bar
nicht null ist, schreiben Sie Ihre if
Anweisung wie folgt.
if ]then echo "$foo is not set"fi
Wenn Variable gleich String ist
Um zu überprüfen, ob zwei Strings gleich sind oder miteinander übereinstimmen, verwenden Sie den ==
String-Vergleichsoperator.
Um beispielsweise zu überprüfen, ob $var1
gleich "cats"
, schreiben Sie die folgende if
Anweisung.
if ]then echo "$var1 equals 'cats'"fi