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 $boder$a < $b - größer als - gekennzeichnet durch:
$a -gt $boder$a > $b - kleiner oder gleich - gekennzeichnet durch:
$a -le $boder$a <= $b - größer als oder gleich - gekennzeichnet durch:
$a -ge $boder$a >= $b - gleich - gekennzeichnet durch:
$a -eq $boder$a == $b - nicht gleich - gekennzeichnet durch:
$a -ne $boder$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 $boder$a && $bergibttruewenn beide Variablen oder Aussagen wahr sind. - logisches Oder - gekennzeichnet durch
$a OR $boder$a || $bergibttruewenn 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