Le istruzioni If-else nello scripting bash sono simili a qualsiasi altro linguaggio di programmazione; è un metodo per un programma per prendere decisioni.
In if-else istruzioni, l'esecuzione di un blocco di istruzioni viene decisa in base al risultato del if condizione.
Sintassi dell'istruzione Bash If-Else
La sintassi del if-else l'istruzione in bash è:
if [condition]
then
//if block code
else
// else block code
fi
Se la condizione restituisce true , il if il codice di blocco viene eseguito e se la condizione restituisce false poi il else il codice di blocco viene eseguito.
L'istruzione else e il blocco di codice else sono facoltativi.
Dobbiamo finire il if dichiarazione con fi parola chiave.
Confronti condizionali
L'espressione utilizzata dal costrutto condizionale deve restituire true o false . L'espressione può essere una singola stringa o variabile.
- meno di - indicato da:
$a -lt $bo$a < $b - maggiore di - indicato da:
$a -gt $bo$a > $b - minore o uguale a - indicato da:
$a -le $bo$a <= $b - maggiore o uguale a - indicato da:
$a -ge $bo$a >= $b - uguale a - indicato da:
$a -eq $bo$a == $b - non uguale a - indicato da:
$a -ne $bo$a != $b
Operatori logici
L'espressione all'interno di if può anche essere una combinazione logica di confronti multipli.
Gli operatori logici sono:
- logico e - indicato con
$a AND $bo$a && $brestituiscetruequando entrambe le variabili o le affermazioni sono vere. - logico o - indicato con
$a OR $bo$a || $brestituiscetruequando una delle variabili o affermazioni è vera.
Ad esempio:
#!/bin/bash
first_name="John"
last_name="Doe"
if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi
Bash se Esempio
Il if istruzione è solo una semplice istruzione condizionale. Se la condizione all'interno del if[] restituisce true quindi il if il blocco di codice viene eseguito.
Esempio:
#!/bin/bash
read -p "Enter a number: " mynumber
if [ $mynumber -gt 10 ]
then
echo "The number you entered is greater than 10"
fi
Nota:nell'esempio precedente, se inseriamo un numero inferiore a 10, non viene stampato nulla. Esempio di Bash if-else
Quando il risultato del if la condizione è false quindi il codice nel else viene eseguito il blocco, purché ce ne sia uno.
Ad esempio:
#!/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 Esempio
Il elif (altrimenti se) viene utilizzato quando sono presenti più if condizioni.
Ad esempio:
#!/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 nidificato se Esempio
Possiamo anche avere nidificato if dichiarazioni.
Ad esempio:
#!/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