<Precedenti | Contenuti | Succ.>
if
Usando la shell, possiamo codificare la logica sopra come segue:
x = 5
if [ $x -eq 5 ]; poi echo "x è uguale a 5."
altro
echo "x non è uguale a 5."
fi
x = 5
if [ $x -eq 5 ]; poi echo "x è uguale a 5."
altro
echo "x non è uguale a 5."
fi
oppure possiamo inserirlo direttamente nella riga di comando (leggermente accorciato):
[io@linuxbox~]$ x = 5
[io@linuxbox~]$ if [ $x -eq 5 ]; poi echo "uguale a 5"; else echo "non è uguale a 5"; fi
uguale a 5 [me@linuxbox ~]$ x = 0
[io@linuxbox~]$ if [ $x -eq 5 ]; poi echo "uguale a 5"; else echo "non è uguale a 5"; fi
non è uguale a 5
[io@linuxbox~]$ x = 5
[io@linuxbox~]$ if [ $x -eq 5 ]; poi echo "uguale a 5"; else echo "non è uguale a 5"; fi
uguale a 5 [me@linuxbox ~]$ x = 0
[io@linuxbox~]$ if [ $x -eq 5 ]; poi echo "uguale a 5"; else echo "non è uguale a 5"; fi
non è uguale a 5
In questo esempio, eseguiamo il comando due volte. Una volta, con il valore di x impostato su 5, che risulta nella stringa "uguale a 5" in uscita e la seconda volta con il valore di x impostato su 0, il che comporta l'output della stringa "non uguale a 5".
I if l'istruzione ha la seguente sintassi:
if comandi; poi
comandi
[elifa comandi; poi
comandi...] [altro
comandi]
fi
where comandi è un elenco di comandi. Questo è un po' confuso a prima vista. Ma prima di poterlo chiarire, dobbiamo guardare come la shell valuta il successo o il fallimento di un comando.