Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2017, à 02: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 smile

Hors ligne

#2 Le 05/03/2017, à 03: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, à 03:18)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 05/03/2017, à 04:46

MicP

Re : Script problèmes de débutant

Hors ligne

#4 Le 05/03/2017, à 11: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 hmm

Hors ligne

#5 Le 05/03/2017, à 12: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, à 12: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 résolu, 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, à 16: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, à 17: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, à 17: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, à 17:31)

Hors ligne