33.3. Verifiche e confronti: alternative

Per le verifiche è più appropriato il costrutto [[ ]] che non con [ ]. Lo stesso vale per il costrutto (( )) per quanto concerne i confronti aritmetici.

a=8

# Tutti i confronti seguenti si equivalgono.
test "$a" -lt 16 && echo "sì, $a < 16"         #  "lista and"
/bin/test "$a" -lt 16 && echo "sì, $a < 16"
[ "$a" -lt 16 ] && echo "sì, $a < 16"
[[ $a -lt 16 ]] && echo "sì, $a < 16"          #  Non è necessario il quoting
                                               #+ delle variabili presenti in [[ ]] e (( )).
(( a < 16 )) && echo "sì, $a < 16"

città="New York"
# Anche qui, tutti i confronti seguenti si equivalgono.
test "$città" \< Parigi && echo "Sì, Parigi è più grande di $città"  
# Più grande in ordine ASCII.
/bin/test "$città" \< Parigi && echo "Sì, Parigi è più grande di $città"
[ "$città" \< Parigi ] && echo "Sì, Parigi è più grande di $città"
[[ $città < Parigi ]] && echo "Sì, Parigi è più grande di $città"    
# $città senza quoting.

# Grazie, S.C.