Sommaire

Tests numériques

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 Les bases ...