Bonjour à tous !
Je suis débutante et j'ai crée ce script permettant de calculer dans la variable nommée maxi et affiche le maximum d’une liste d’entiers passée en paramètres. Le nombre de paramètres n'étant pas fixé.
Mais ça ne fonctionne pas , il y a juste la sortie d'erreur qui fonctionne.
Pouvez-vous m'éclairer?
Par avance, merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
# Explication de la commande maximum
function isnum ()
#fonction qui renvoie 0 (vrai) quand l'argument qui lui est passé en paramètre est un nombre (positif ou négatif), 1 sinon
{
  	 if [[ "$1" =~ ^[-+]?[0-9]+$ ]];
		then
     		 return 0
   		else
     		 return 1
  	 fi
}
function aide ()
# affiche l'aide de la commande (si $1 = "--help")
{
	echo "Usage : maximum entier1 entier2 ... entierN."
}
 
	if [ $# -eq 0 ]; # Le cas où aucun paramètre n'est entré
		then
      			echo "Il n'y a pas de parametres"
	aide >&2
	elif test $1 = "--help" # le Cas où l'utilisateur demande de l'aide.
 		 then
 			 aide >&2
	else
		for i
  		do
			if isnum $?
			then
				echo $?
							else
				echo "$? n'est pas un entier !" >&2
			fi
 		done
	fi
 
	maxi=$1
		for i
		 do
		   if [ $i -gt $maxi ]
		     then maxi=$i
		  fi
	      done
	exit 0