Pour les tests, la construction [[ ]] peut être plus appropriée que [ ]. De même, les comparaisons arithmétiques pourraient bénéficier de la construction (( )).
a=8 # Toutes les comparaisons ci-dessous sont équivalentes. test "$a" -lt 16 && echo "oui, $a < 16" # "liste et" /bin/test "$a" -lt 16 && echo "oui, $a < 16" [ "$a" -lt 16 ] && echo "oui, $a < 16" [[ $a -lt 16 ]] && echo "oui, $a < 16" # Placer les variables entre (( a < 16 )) && echo "oui, $a < 16" # [[ ]] et (( )) n'est pas # nécessaire. cite="New York" # Encore une fois, toutes les comparaisons ci-dessous sont équivalentes. test "$cite" \< Paris && echo "Oui, Paris est plus grand que $cite" # Ordre ASCII du plus grand. /bin/test "$cite" \< Paris && echo "Oui, Paris est plus grand que $cite" [ "$cite" \< Paris ] && echo "Oui, Paris est plus grand que $cite" [[ $cite < Paris ]] && echo "Oui, Paris est plus grand que $cite" # Pas besoin de mettre $cite entre double quote. # Merci, S.C.