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
Partager