#1 Le 11/04/2023, à 20:11
- MichelZ
[Résolu] Mettre des variables dans une commande YAD
Bonjour les champions du script ,
J'essaie de mettre des valeurs calculées (liste1 et liste2) dans une commande YAD :
liste1='2 18 21 30 45';
liste2='6 11';
#
boutons='--button="<b>NOUVEAU TIRAGE</b> (Entrée)":0 --button=gtk-cancel:1'
texte='--text="<b><big><big><big>'${liste1}' – '${liste2}'</big></big></big></b>"'
#
eval 'yad --undecorated --borders=20 --buttons-layout=center --text-align=center '$boutons' '$texte
reponse=$?
Avec eval ça marche, mais j'aimerais utiliser directement une commande du genre :
reponse=$(yad --undecorated --borders=20 --buttons-layout=center --text-align=center $boutons $texte)
et ça, ça ne marche pas.
Existe t-il une syntaxe correcte pour ça ?
Merci d'avance
Dernière modification par MichelZ (Le 11/04/2023, à 21:54)
Hors ligne
#2 Le 11/04/2023, à 20:58
- Beta Pictoris
Re : [Résolu] Mettre des variables dans une commande YAD
Bonsoir
Comme ceci ? :
#!/usr/bin/env bash
# set -x
liste1='2 18 21 30 45'
liste2='6 11'
opt='--undecorated --borders=20 --buttons-layout=center --text-align=center --button=gtk-cancel:1'
boutons='--button=<b>NOUVEAU TIRAGE</b> (Entrée):0'
texte='--text=<b><big><big><big>'${liste1}' – '${liste2}'</big></big></big></b>'
reponse=$(yad $opt "$boutons" "$texte")
echo $?
Dernière modification par Beta Pictoris (Le 11/04/2023, à 21:01)
Hors ligne
#3 Le 11/04/2023, à 21:51
- MichelZ
Re : [Résolu] Mettre des variables dans une commande YAD
Ça marche ! Merci beaucoup !
Mais ça inverse les 2 boutons à l'affichage (puisque "cancel" est placé avant "entrée")
Donc j'ai trouvé une autre solution, c'est de remplacer dans tous les libellés ("NOUVEAU TIRAGE", etc.) les espaces par des espaces insécables (Maj-AltGr-espace) :
liste1='2 18 21 30 45';
liste2='6 11';
#
debut='--undecorated --borders=20 --buttons-layout=center --text-align=center --button=<b>NOUVEAU TIRAGE</b> (Entrée):0 --button=gtk-cancel:1'
texte='--text=<b><big><big><big>'${liste1}' – '${liste2}'</big></big></big></b>'
#
reponse=$(yad $debut $texte)
Bon, ça n'est pas visible ci-dessus, mais ça marche bien.
Hors ligne
#4 Le 11/04/2023, à 21:57
- kamaris
Re : [Résolu] Mettre des variables dans une commande YAD
Comme ça ce serait mieux, puisque tu utilises bash (il y a des tableaux) :
liste1='2 18 21 30 45'
liste2='6 11'
opt=('--undecorated' '--borders=20' '--buttons-layout=center' '--text-align=center')
boutons=('--button=<b>NOUVEAU TIRAGE</b> (Entrée):0' '--button=gtk-cancel:1')
texte="--text=<b><big><big><big>'${liste1}' – '${liste2}'</big></big></big></b>"
reponse=$(yad "${opt[@]}" "${boutons[@]}" "$texte")
Hors ligne
#5 Le 12/04/2023, à 10:34
- MichelZ
Re : [Résolu] Mettre des variables dans une commande YAD
Ah oui, ça marche aussi. Merci kamaris !
Hors ligne