Test de variable
Résolu
alech
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
je me tourne vers vous une fois encore. Dans un script je récupéré plusieurs variable avec la fonction read
"read -p 'entre un nombre:' varA"
et je voudrais pouvoir vérifier si la variable est bien un entier ou décimal. J'ai essayé avec
["$(echo $varA | grep "^[[:digit]]*$")"]
ou
[ $var -eq 0 ] 2> /dev/null
if [ $? -eq 0 -o $? -eq 1 ]
ou encore
if let $var 2>/dev/null
rien ne fonctionne j'ai toujours des erreurs :s
merci d'avance
je me tourne vers vous une fois encore. Dans un script je récupéré plusieurs variable avec la fonction read
"read -p 'entre un nombre:' varA"
et je voudrais pouvoir vérifier si la variable est bien un entier ou décimal. J'ai essayé avec
["$(echo $varA | grep "^[[:digit]]*$")"]
ou
[ $var -eq 0 ] 2> /dev/null
if [ $? -eq 0 -o $? -eq 1 ]
ou encore
if let $var 2>/dev/null
rien ne fonctionne j'ai toujours des erreurs :s
merci d'avance
1 réponse
-
-
Salut, j'ai déjà lu ce FAQ c'est d'ailleurs de là que vient ce que j'ai essayé. Mais dans mon cas ça ne marche pas
-
-
-
On déclare une variable :
var="2.5"
On l'initialise en tant qu'entier via la commande let :let $var
Dans la FAQ le résultat de la sortie d'erreur (2) est redirigé vers/dev/null
pour ne pas avoir le résultat à l'écran, moi je l'ai laissé, d'où le message d'erreur "bash: let: 2.5 : erreur de syntaxe".
Puis je teste le code retour :echo $?
qui renvoie "1" donc faux ;-\
Idem pour la suite mais avec un entier comme variable et tout se passe bien ;-) -
-