Nello script bash l'istruzione if controlla se una condizione è vera o meno. In tal caso, la shell esegue il blocco di codice associato all'istruzione if. Se l'istruzione non è true , la shell salta oltre la fine del blocco dell'istruzione if e continua.
In questa guida impareremo come utilizzare le istruzioni if, if else, If..elif..else..fi. L'istruzione if-else è anche nota come istruzione condizionale nello script bash.
se Dichiarazione
Sintassi:
if [ condition_command ]
then
command1
command2
……..
last_command
fi
Esempio:
Nell'esempio di script bash sottostante, stiamo confrontando due numeri usando l'istruzione if condi.
#!/bin/bash number=150 if [ $number -eq 150 ] then echo "Number is 150" fi
Dichiarazione if-else
Oltre alla normale istruzione if , possiamo estendere l'istruzione if con un altro blocco. L'idea di base è che se l'istruzione è true , eseguire il blocco if. Se l'istruzione è false , eseguire il blocco else. Qui blocco è l'insieme dei comandi.
Sintassi :
if [ condition_command ]
then
comando1
comando2
……..
last_command
else
comando1
comando2
……..
last_command
fi
Esempio:
#!/bin/bash number=150 if [ $number -gt 250 ] then echo "Number is greater" else echo "Number is smaller" fi
Dichiarazione If..elif..else
Nello script bash, se desideri applicare più condizioni usando l'istruzione if, usa "if elif else". In questo tipo di istruzione condizionale, se la prima condizione viene soddisfatta, il codice sottostante verrà eseguito, altrimenti se la condizione verrà verificata e se non viene soddisfatta, verranno eseguiti i comandi menzionati di seguito else istruzione. La sintassi e l'esempio sono mostrati di seguito.
Sintassi :
if [ condition_command ]
then
command1
command2
……..
last_command
elif [ condition_command2 ]
then
command1
comando2
……..
ultimo_comando
else
comando1
comando2
……..
ultimo_comando
fi
Esempio :
#!/bin/bash number=150 if [ $number -gt 300 ] then echo "Number is greater" elif [ $number -lt 300 ] then echo "Number is Smaller" else echo "Number is equal to actual value" fi
Esecuzioni se annidate
L'istruzione If e l'istruzione else possono essere nidificate in uno script bash. La parola chiave "fi" mostra la fine dell'istruzione if inner e tutte le istruzioni if devono terminare con la parola chiave "fi".
La sintassi di base di nidificato se è mostrata di seguito:
if [ condition_command ]
allora
command1
command2
……..
last_command
else
if [ condition_command2 ]
allora
comando1
comando2
……..
ultimo_comando
else
comando1
comando2
……..
last_command
fi
fi
Esempio:
#!/bin/bash number=150 if [ $number -eq 150 ] then echo "Number is 150" else if [ $number -gt 150 ] then echo "Number is greater" else echo "'Number is smaller" fi fi