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
j'ai tester 3 cas
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
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
Partager