Déc
07
2011
Comment savoir en shell si une variable est du type entier
By Romain
and has no comments yet.
Pour déterminer si une variable est du type entier ou non nous utiliserons dans l’exemple ci-dessous la commande let. Cette dernière retourne un code erreur que nous afficherons dans le cas où la variable n’est pas du type entier. Un bon exemple vaut mieux qu’un long discours :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | EXEMPLE : ######### var=toto # Initialisation de la variable avec une chaîne de caractères let $var echo $? # Retourne 1 var=123 # Initialisation de la variable avec un type entier let $var echo $? # Retourne 0 # Dans un script on pourrait procéder de la manière suivante # pour tester la variable : if let $num_track 2>/dev/null echo "variable du type entier" else echo "variable non numérique" fi |
Autre méthode
1234 if [ "$(echo $var | grep "^[ [:digit:] ]*$")" ]then echo "La chaîne est numérique"fi
Dans l’exemple ci-dessus le type entier de la variable nommée var est testée. Le test est positif si la chaîne est numérique.
1 2 3 4 | if [ "$(echo $var | grep "^[ [:digit:] ]*$")" ] then echo "La chaîne est numérique" fi |