#1 Le 05/03/2017, à 01:44
- Fenrik
Script problèmes de débutant
Bonjour tout le monde,
Je suis bloqué sur l'écriture d'un script qui doit faire la somme des paramètres entrés
./somme 1 2 5
8
Ma question est donc comment récupérer les paramètres et les additionner à l'aide d'une variable, sachant que le nombre de paramètres peut varier
Si une personne bienveillante pouvais m'aider ça serai sympas
Hors ligne
#2 Le 05/03/2017, à 02:17
- Watael
Re : Script problèmes de débutant
salut,
les arguments passés à un script sont appelés Paramètres positionnels.
ce sont des nombres, représentant leur position (!), précédés, comme toute variable, par le signe dollar.
ainsi $1 représente le premier argument du script, ${12} le douzième.
les accolades sont indispensables, sinon c'est le premier argument qui serait développé suivi d'un 2.
Dernière modification par Watael (Le 05/03/2017, à 02:18)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 05/03/2017, à 03:46
- MicP
Re : Script problèmes de débutant
Bonjour
Si ça peut aider … http://wiki.bash-hackers.org/scripting/posparams
Hors ligne
#4 Le 05/03/2017, à 10:47
- Fenrik
Re : Script problèmes de débutant
Merci pour les réponse !
Mais ma question est peut être mal formulé, je cherche à savoir comment faire la somme des paramètres positionnels sans avoir à utilisé de $1,$2... car je ne sais pas combien il y en aura à l'avance.
J'ai essayer avec une boucle while / for et une variable i mais ça me retourne le nombre de paramètres et pas leurs somme
Hors ligne
#5 Le 05/03/2017, à 11:12
- pingouinux
Re : Script problèmes de débutant
Bonjour,
Peux-tu montrer ce que tu as déjà essayé ?
Hors ligne
#6 Le 05/03/2017, à 11:32
- erresse
Re : Script problèmes de débutant
Bonjour,
Le nombre de paramètres passés au script est donné par la variable "$#", tu peux aussi t'en servir dans ta boucle...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#7 Le 05/03/2017, à 15:47
- Watael
Re : Script problèmes de débutant
si tu arrives à avoir le nombre de paramètres en utilisant une boucle, tu n'es pas très loin de réussir.
tu dois additionner la valeur de la variable itérant les Paramètres positionnels à la valeur d'une variable (Total, par exemple) que tu crées.
montre-nous ce que tu as déjà essayé.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 05/03/2017, à 16:27
- Hizoka
Re : Script problèmes de débutant
Salut,
perso j'utiliserais tout simplement la valeur "${@}" en additionnant toutes ses valeurs via une boucle for.
Du coup on se fiche du nombre de paramètre.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#9 Le 05/03/2017, à 16:30
- MicP
Re : Script problèmes de débutant
Si tes paramètres sont des valeurs de type entier, tu pourra utiliser l'interpréteur de commandes (bash ou sh) pour les additionner,
mais s'il ne s'agit pas d'entiers, il te faudra utiliser un programme qui permet de manipuler ce type de données.
Généralement, bc fait ça très bien
Dernière modification par MicP (Le 05/03/2017, à 16:31)
Hors ligne