problème sur un script qui calcule une variable maxi affichant le maximum d'une liste d'entier de paramètres
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:
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 |