script shell : besoin de vérifier le contenu d'une variable - Linux et OS Alternatifs
Marsh Posté le 28-10-2002 à 17:07:55
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...
Marsh Posté le 28-10-2002 à 17:49:38
echo 13134134 | grep "^[0-9]\+$" && echo " c'est un nombre"
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.
Marsh Posté le 28-10-2002 à 18:08:09
Avec
echo $var1 | perl -ne 'exit 1 if (! /(^\d+(.(\d+)?)?)\n$/)' && echo "ok"
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
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
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