Lancer un script à paramètres en toute simplicité (facile sous XFCE, petite complication sous Mate)
Posté : dim. 27 mai 2018 00:16
par Rémi123
Bonjour tout le monde,
Je voudrais lancer un script à deux paramètres a et b, disons numériques pour simplifier.
Mais je veux le faire avec la simplicité maximale, c'est à dire en réalisant successivement les opérations suivantes, et aucune autre opération:
1- Double-cliquer sur l'icône qui lance le script
2- taper le premier paramètre au clavier
3- taper entrée
4- taper le second paramètre au clavier
5- taper entrée
(6- et là le résultat de mon script se réalise)
Si vous avez une idée, vous pouvez simplement la décrire avec deux paramètres numériques a et b et un script qui calcule a+b. Mais il faut que le script crée une variable a et une variable b, puis que mon vrai script utilise des calculs sur a et sur b.
J'adapterai ensuite vos suggesions à mon vrai script (qui quant à lui aboutit à lancer un logiciel sous conditions dépendant de a et de b, mais c'est une autre question).
Adapté à la question de la somme, la solution permettrait d'obtenir la somme de a et de b avec strictement aucune autre action que:
1- Double-cliquer sur l'icône qui lance le script
2- taper la valeur de a
3- taper entrée
4- taper la valeur de b
5- taper entrée
(6- et là s'affiche la valeur de a+b)
Je suis sûr que c'est très simple... C'est à vous!
Re: Lancer un script à paramètres en toute simplicité
10 rem addition
20 input "quelle est la valeur de a"; A$
30 input "quelle est la valeur de b"; B$
40 C$=A$+B$
50 print "l'addition de a+b est: "; C$
60 end
Désolé j'ai pas pu me retenir, ta question m'a fait revenir 35 ans en arrière, un petit coup de
nostalagie... C'est le 2 sd programe que j'ai fait le premier c'était: "quel est ton nom....Bonjour ton nom"
Trêve de plaisanterie. Dans quel language,? En bash je suppose vu qu'on est dans la rubrique "terminal".
Quelque soit ton choix, il y en a bien un (suivez mon regard) qui va te te pondre deux lignes pour te faire ça.
Bon Ok, en plus, suivant la valeur du résultat, tu auras un smiley content ou neutre ou qui fait la gueule,
Mais du momment que ça fonctionne, hein?
Re: Lancer un script à paramètres en toute simplicité
Posté : dim. 27 mai 2018 09:21
par arghlub
Salut,
alain a écrit :il y en a bien un (suivez mon regard) qui va te te pondre deux lignes pour te faire ça. Bon Ok, en plus, suivant la valeur du résultat, tu auras un smiley content ou neutre ou qui fait la gueule
#!/bin/bash
# Saisies dans le terminal
read -p "Saisis ton premier paramètre : " a
read -p "Saisis ton second paramètre : " b
# Somme
c=$((a+b))
echo "Résultat : "$c
Tu pourrais aussi passer par "zenity" si tu veux faire ça dans une interface graphique et non dans le terminal :
#!/bin/bash
# Saisies avec zenity
a=$(zenity --entry --title="NOM DU SCRIPT" --text="Saisis ton premier paramètre")
b=$(zenity --entry --title="NOM DU SCRIPT" --text="Saisis ton second paramètre")
# Somme
c=$((a+b))
zenity --info --title="NOM DU SCRIPT" --text="Résultat :\n$c"
Pour faire ça bien il faudrait aussi que tu fasses des tests sur les valeurs saisies pour être sur qu'elle soient conformes aux valeurs attendues.
Re: Lancer un script à paramètres en toute simplicité
Posté : dim. 27 mai 2018 09:50
par Rémi123
Ah ah, on avance, les amis!
Spontanément, je pensais effectivement programmer en bash. Mais l'idée est juste d'arriver au résultat décrit dans mon premier post: si pour cela il vaut mieux passer par un autre langage, alors pourquoi pas.
Mais bien sûr en bash ce serait mieux.
Alors, vous avez presque bon. La syntaxe pour demander la valeur d'un paramètre fait bien partie des éléments que je recherchais.
Ceci dit, vous avez manqué ma question centrale: l'étape 1! Comment, une fois qu'on a écrit le programme, faire en sorte qu'il se lance par un simple double-clic sur une icône?
Deux remarques:
- Merci arghlub pour Zenity, mais je n'ai pas besoin de ça graphiquement. Entrer les valeurs directement dans le terminal me conviendrait mieux. Enfin si c'est possible (si ce n'est possible qu'en passant par Zenity alors ok).
- Car autre remarque: quand je copie-colle ton script dans un terminal, ça ne marche pas. Le programme s'arrête après la saisie du premier paramètre. C'est d'ailleurs précisément pour ce problème que j'ai précisé d'emblée que j'ai deux paramètres et non pas un seul. Et là effectivement ça marche mieux avec Zenity, dont par ailleurs j'aimerais pouvoir me passer si c'était possible.
Voilà voilà...
Alors?
Re: Lancer un script à paramètres en toute simplicité
Posté : dim. 27 mai 2018 10:08
par arghlub
Rémi123 a écrit :
Ceci dit, vous avez manqué ma question centrale: l'étape 1! Comment, une fois qu'on a écrit le programme, faire en sorte qu'il se lance par un simple double-clic sur une icône?
Il faut que tu fasses un lanceur (raccourci) sur le bureau qui pointe vers ton script.
Capture d'écran (bureau XFCE) :
Rémi123 a écrit :
- Car autre remarque: quand je copie-colle ton script dans un terminal, ça ne marche pas. Le programme s'arrête après la saisie du premier paramètre.
Je viens de retester il n'y a aucun problème (je m'en serais voulu de m'être planté sur un script aussi simple).
Donc c'est très très très étrange....
Fais nous une capture d'écran du terminal après avoir lancer ces 2 commandes :
r@r ~/Bureau $ cat add.sh
#!/bin/bash
# Saisies dans le terminal
read -p "Saisis ton premier paramètre : " a
read -p "Saisis ton second paramètre : " b
# Somme
c=$((a+b))
echo "Résultat : "$c
r@r ~/Bureau $ ./add.sh
bash: ./add.sh: Permission non accordée
r@r ~/Bureau $
3/ Mais en fait ton lanceur ne marche pas, arghlub: ça me renvoie des erreurs de permissions.
Par contre, en ajoutant "sh" juste devant la commande, comme le propose Cyrille, ça marche!
Je marque donc "résolu", en pointant sur le script d'arghlub:
#!/bin/bash
# Saisies dans le terminal
read -p "Saisis ton premier paramètre : " a
read -p "Saisis ton second paramètre : " b
# Somme
c=$((a+b))
echo "Résultat : "$c
et sur le lanceur de Cyrille:
cyrille a écrit :pour le lancer par simple clic sur une icone
Sur ton bureau, clic DROIT puis choisir ton fichier et dans commande :
et penser à cocher l'option LANCER DANS UN TERMINAL
Thanks!!!
Je reviens vers vous au cas où ça ne marcherait pas sur mon "vrai script".
Rémi
Re: Lancer un script à paramètres en toute simplicité
Posté : dim. 27 mai 2018 11:09
par arghlub
Super si c'est ok
Pour éviter les erreurs de permissions, il faut que tu donnes à ton script les droits d'exécution (désolé de l'avoir oublié, pour moi ça coule de source ) :
mettre un [résolu] (entre crochets et à gauche) dans le titre de ce premier message
Re: [résolu] Lancer un script à paramètres en toute simplicité
Posté : dim. 27 mai 2018 16:32
par Rémi123
C'est fait, merci!
Re: Lancer un script à paramètres en toute simplicité
Posté : lun. 28 mai 2018 00:36
par Rémi123
Bon, en fait ça fonctionnait avec un ordi "d'appoint" sous Mint 18.3 xfce.
Mais sur mon ordi principal avec ma config de signature, ça ne marche pas.
En fait, quand je crée un lanceur, l'interface n'est pas la même qu'avec mon autre ordi.
En créant le lanceur, j'ai le choix entre trois "types":
- application,
- application dans un terminal,
- emplacement.
Aucune des trois solutions ne me donne d'écran similaire à celui d'argshlub:
arghlub a écrit :
Dans les trois cas, les "propriétés" du lanceur ont quatre onglets, mais pas d'onglet "lanceur" comme ici: le quatrième onglet est "Notes", comme ci-dessous (là j'ai choisi le type "application"):
(Désolé, je ne sais pas afficher cette image en plus gros)
Le problème viendrait des lanceurs de ma version de Mint?
Rémi
Re: Lancer un script à paramètres en toute simplicité
Posté : lun. 28 mai 2018 04:52
par alain
Bonjour Rémi.
je n'ai pas de maté sous les yeux, mais oui c'est légèrement différent de XFCE.
Si je me trompe pas c'est dans l'onglet "general" que tu renseigne le chemin de ton script.