Bedingte Bash-Anweisungen führen unterschiedliche Berechnungen oder Aktionen aus, je nachdem, ob eine vom Programmierer angegebene boolesche Bedingung als wahr oder falsch ausgewertet wird. Diese Anweisungen werden verwendet, um verschiedene Teile Ihres Shell-Programms auszuführen, je nachdem, ob bestimmte Bedingungen erfüllt sind. Die Fähigkeit zur Verzweigung macht Shell-Skripte leistungsfähig.
In Bash haben wir die folgenden Bedingungsanweisungen:
- if..then..fi-Anweisung (einfaches If)
- if..then..else..fi-Anweisung (If-Else)
- if..elif..else..fi-Anweisung (Else If Leiter)
- if..then..else..if..then..fi..fi..(Nested if)
Diese ähneln den awk if-Anweisungen, die wir zuvor besprochen haben.
1. Bash If..then..fi-Anweisung
if [ conditional expression ] then statement1 statement2 . fi
Diese if-Anweisung wird auch als einfache if-Anweisung bezeichnet. Wenn der angegebene Bedingungsausdruck wahr ist, werden die zwischen den Schlüsselwörtern „then“ und „fi“ eingeschlossenen Anweisungen eingegeben und ausgeführt. Wenn der angegebene Ausdruck Null zurückgibt, wird die nachfolgende Anweisungsliste ausgeführt.
if then fi Beispiel:
#!/bin/bash count=100 if [ $count -eq 100 ] then echo "Count is 100" fi
2. Bash If..then..else..fi-Anweisung
If [ conditional expression ] then statement1 statement2 . else statement3 statement4 . fi
Wenn der bedingte Ausdruck wahr ist, führt er die Anweisung 1 und 2 aus. Wenn der bedingte Ausdruck Null zurückgibt, springt er zum Else-Teil und führt die Anweisung 3 und 4 aus. Nach der Ausführung des If/Else-Teils wird die Ausführung mit den nachfolgenden Anweisungen fortgesetzt.
if then else fi Beispiel:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else echo "Count is not 100" fi
Hinweis: Dieser Artikel ist Teil der laufenden Bash-Tutorial-Reihe.
3. Bash If..elif..else..fi
If [ conditional expression1 ] then statement1 statement2 . elif [ conditional expression2 ] then statement3 statement4 . . . else statement5 fi
Sie können dies if .. elif.. if verwenden, wenn Sie einen von vielen auszuführenden Codeblöcken auswählen möchten. Es prüft Ausdruck 1, wenn er wahr ist, führt es Anweisung 1,2 aus. Wenn Ausdruck1 falsch ist, prüft es Ausdruck2, und wenn alle Ausdrücke falsch sind, tritt es in den Else-Block ein und führt die Anweisungen im Else-Block aus.
if then elif then else fi Beispiel:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" elif [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi
4. Bash If..then..else..if..then..fi..fi..
If [ conditional expression1 ] then statement1 statement2 . else if [ conditional expression2 ] then statement3 . fi fi
If-Anweisung und Else-Anweisung könnten in Bash verschachtelt sein. Das Schlüsselwort „fi“ kennzeichnet das Ende der inneren if-Anweisung und alle if-Anweisungen sollten mit dem Schlüsselwort „fi“ enden.
Das oben erwähnte „if then elif then else fi“-Beispiel kann wie unten gezeigt in das verschachtelte if umgewandelt werden.
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else if [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi fi
In unserem nächsten Artikel besprechen wir die Verwendung von bedingten Bash-Ausdrücken mit praktischen Beispielen.
Empfohlene Lektüre
Bash 101 Hacks, von Ramesh Natarajan . Ich verbringe die meiste Zeit in der Linux-Umgebung. Daher bin ich natürlich ein großer Fan von Bash-Befehlszeilen- und Shell-Skripten. Vor 15 Jahren, als ich an verschiedenen Varianten von *nix arbeitete, habe ich viel Code auf der C-Shell und der Korn-Shell geschrieben. Später, als ich anfing, als Systemadministrator an Linux zu arbeiten, automatisierte ich so ziemlich jede mögliche Aufgabe mit Bash-Shell-Scripting. Basierend auf meiner Bash-Erfahrung habe ich das eBook „Bash 101 Hacks“ geschrieben, das 101 praktische Beispiele sowohl für die Bash-Befehlszeile als auch für Shell-Scripting enthält. Wenn Sie darüber nachgedacht haben, Bash zu beherrschen, tun Sie sich selbst einen Gefallen und lesen Sie dieses Buch, das Ihnen helfen wird, die Kontrolle über Ihre Bash-Befehlszeile und Ihr Shell-Skripting zu übernehmen.