script shell : besoin de vérifier le contenu d'une variable

script shell : besoin de vérifier le contenu d'une variable - Linux et OS Alternatifs

Marsh Posté le 28-10-2002 à 13:53:37    

Je fais "read var1" et je souhaite vérifier que var1 est un nombre, ie que la chaine de caracteres ne contient que des chiffres (et le séparateur décimal).
Comment on peut faire ça ?


Message édité par jotenakis le 28-10-2002 à 13:54:23
Reply

Marsh Posté le 28-10-2002 à 13:53:37   

Reply

Marsh Posté le 28-10-2002 à 17:07:55    

:heink:  
on ne s'est pas compris, ce que je veux c'est savoir de manière auto dans le code si c'est un nombre, pas en l'affichant...

Reply

Marsh Posté le 28-10-2002 à 17:49:38    

echo 13134134 | grep "^[0-9]\+$" && echo " c'est un nombre"
 

Reply

Marsh Posté le 28-10-2002 à 17:54:13    

pour ton cas  
 
....
read var1
 
isnum=`echo $var1 | grep "^[0-9]\+$"`
[ $? ] && echo "ok" || echo "ressaisi stp "
 
ou alors
 
[ $isnum -eq 0 ] && echo "ok" || blablablabla  
 
le grep teste que ca commence par un chiffre , une ou plusieurs fois et fini bien par un chiffre.
 
$? contient le statut de l'operation : contient 0 si ok et 1 si pas ok , apres tu décides de l'action à faire.  
 

Reply

Marsh Posté le 28-10-2002 à 18:08:09    

Avec  
 
echo $var1 | perl -ne 'exit 1 if (! /(^\d+(.(\d+)?)?)\n$/)' && echo "ok"

Reply

Marsh Posté le 28-10-2002 à 18:11:02    

perl un peu lourd sur l'occaz mais sacrement puissant sur d'autres : serait temps que je m'y mette ;)


Message édité par superX le 28-10-2002 à 18:11:09
Reply

Marsh Posté le 28-10-2002 à 23:38:39    

super  :jap:  :jap:  :jap:

Reply

Marsh Posté le 29-10-2002 à 00:08:16    

ArSuniK a écrit a écrit :

Avec  
 
echo $var1 | perl -ne 'exit 1 if (! /(^\d+(.(\d+)?)?)\n$/)' && echo "ok"
 




 
ils sont malades les mecs ki ont ecris ca :ouch:


Message édité par leirn le 29-10-2002 à 00:08:32

---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed