If-else-Anweisungen in Bash-Skripten ähneln anderen Programmiersprachen; es ist eine Methode für ein Programm, um Entscheidungen zu treffen.
In if-else
Anweisungen wird die Ausführung eines Anweisungsblocks basierend auf dem Ergebnis von if
entschieden Zustand.
Syntax der Bash-If-Else-Anweisung
Die Syntax von if-else
Anweisung in bash ist:
if [condition]
then
//if block code
else
// else block code
fi
Wenn die Bedingung zu true
ausgewertet wird , die if
Blockcode ausgeführt wird, und wenn die Bedingung zu false
ausgewertet wird dann die else
Blockcode wird ausgeführt.
Die Else-Anweisung und der Else-Codeblock sind optional.
Wir müssen die if
beenden Anweisung mit dem fi
Schlüsselwort.
Bedingte Vergleiche
Der vom Bedingungskonstrukt verwendete Ausdruck muss entweder zu true
ausgewertet werden oder false
. Der Ausdruck kann ein einzelner String oder eine Variable sein.
- weniger als - gekennzeichnet durch:
$a -lt $b
oder$a < $b
- größer als - gekennzeichnet durch:
$a -gt $b
oder$a > $b
- kleiner oder gleich - gekennzeichnet durch:
$a -le $b
oder$a <= $b
- größer als oder gleich - gekennzeichnet durch:
$a -ge $b
oder$a >= $b
- gleich - gekennzeichnet durch:
$a -eq $b
oder$a == $b
- nicht gleich - gekennzeichnet durch:
$a -ne $b
oder$a != $b
Logische Operatoren
Der Ausdruck innerhalb von if
-Anweisung kann auch eine logische Kombination mehrerer Vergleiche sein.
Die logischen Operatoren sind:
- logisch und - gekennzeichnet durch
$a AND $b
oder$a && $b
ergibttrue
wenn beide Variablen oder Aussagen wahr sind. - logisches Oder - gekennzeichnet durch
$a OR $b
oder$a || $b
ergibttrue
wenn eine der Variablen oder Aussagen wahr ist.
Zum Beispiel:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
Bash-if-Beispiel
Der if
Anweisung ist nur eine einfache bedingte Anweisung. Wenn die Bedingung innerhalb des if[]
ergibt true
dann die if
Codeblock wird ausgeführt.
Beispiel:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
Hinweis:Wenn wir im obigen Beispiel eine Zahl eingeben, die kleiner als 10 ist, wird nichts gedruckt. Bash-if-else-Beispiel
Wenn das Ergebnis von if
Bedingung ist false
dann den Code im else
Block wird ausgeführt, sofern vorhanden.
Zum Beispiel:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
else
echo "The number you entered is less than 10"
fi
Bash-if-elif-else-Beispiel
Der elif
(else if) wird verwendet, wenn es mehrere if
gibt Bedingungen.
Zum Beispiel:
#!/bin/bash
read -p "Enter your exam grade: " grade
if [ $grade -ge 80 ]
then
echo "You got A"
elif [ $grade -ge 70 ]
then
echo "You got B"
elif [ $grade -ge 60 ]
then
echo "You got C"
else
echo "Fail"
fi
Bash-Nested-if-Beispiel
Wir können auch if
verschachtelt haben Aussagen.
Zum Beispiel:
#!/bin/bash
read -p "Enter value of a :" a
read -p "Enter value of b :" b
read -p "Enter value of c :" c
if [ $a -gt $b ]
then
if [ $a -gt $c ]
then
echo "a is greatest"
else
echo "c is greatest"
fi
else
if [ $b -gt $c ]
then
echo "b is greatest"
else
echo "c is greatest"
fi
fi