bonjour,

j'ai fait un script qui teste si un argument est numérique. il fonctionne mais comporte certain cas avec des message d'erreur et la est mon problème



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#/bin/sh
var=$1 
if [ $var -z ] 
then echo -n Fournissez moi un argument s\'il vous plaît :; read var
fi
	expr $var + 0 1>/dev/null 2>&1 
	statut=$?  
		if test $statut -lt 2  
			then  
			echo "$var est numérique"  
			else echo "$var n'est pas numérique"
fi
j'ai tester 3 cas
1) celui ou je ne met rien - pas de soucis
$ ./test2.sh
Fournissez moi un argument s'il vous plaît :z
z n'est pas numérique

2)celui ou je met une valeur non numérique
$ ./test2.sh z
./test2.sh: line 4: [: z : opérateur unaire attendu
z n'est pas numérique

3)celui ou je met un numérique
$ ./test2.sh 12
./test2.sh: line 4: [: 12 : opérateur unaire attendu
12 est numérique


question peut être bête
un numérique est forcément un nombre entier ?

merci