Sto imparando bash e ho notato qualcosa di strano che non posso (ancora) spiegare. A scuola ho imparato che un'istruzione if valuta 0 come vero e 1 come falso, quindi può essere utilizzato con il codice di stato da un altro comando. Ora è la mia domanda: perché questo accade:Se affermazione con comportamento di confronto aritmetico in bash
echo $((5>2)) #prints 1
echo $((5<2)) #prints 0
if ((5>2)) ; then echo "yes" ; else echo "no" ; fi #prints yes
if ((5<2)) ; then echo "yes" ; else echo "no" ; fi #prints no
Questo non sembra logico. In che modo bash sa che sto usando un'espressione aritmetica e non un altro comando?
Hmm, sembra che abbia usato alcuni termini errati nella mia risposta. Spero che non ti dispiaccia modificare il mio modo di usare quelli corretti. –