Tests numériques Test:sur les nombres
Objectif
Effectuer des tests numériques sur des variables contenant des nombres.
Exemple
Tester si la variable nombre est inférieure à 100.
Première méthode (ksh, bash)
Utiliser la commande de test [[ ]] :
$ [[ $nombre -lt 100 ]] && echo '$nombre < 100'
Attention à ne pas utiliser les opérateurs =, !=, < et > de la commande [[ ]] qui font des tests lexicographiques (comparaison de chaînes) et non numériques.
(cf. chapitre Les bases de la programmation shell - Exécution de tests)
Deuxième méthode
Utiliser la commande de test [ ] :
$ [ $nombre -lt 100 ] && echo '$nombre < 100'
Attention à ne pas utiliser les opérateurs = et != de la commande [ ] qui font des tests lexicographiques (comparaison de chaînes) et non numériques.
(cf. chapitre Les bases de la programmation shell - Exécution de tests)
Troisième méthode (ksh, bash)
Utiliser la commande arithmétique (( )) :
$ (( $nombre < 100 )) && echo '$nombre < 100'
(cf. chapitre Les bases de la programmation shell - L’arithmétique)
Quatrième méthode
Utiliser la commande expr :
$ expr $nombre \< 100 > /dev/null && echo '$nombre < 100'
La commande expr n’est pas la plus confortable car il faut protéger les caractères spéciaux du shell et éliminer un affichage inutile.
(cf. chapitre...