Pages : 1
#1 Le 15/03/2008, à 22:13
- weedfast
script zenity + if,elif etc
Voilà j'ai un petit souci avec ce script qui ne fonctionne pas :
#!/bin/bash
echo $(zenity --list --checklist --height=350 --width=250 \
--title="Course" \
--text="Choix des produits"\
--column="" --column="" --column="Produits" \
--hide-column=2 \
--separator=" " \
FALSE LAP "lapin"\
FALSE POU "poulet"\ )
read PRO
if [ "$PRO" = "LAP" ]; then
{
zenity --info --title="Produit choisi" --text="Vous avez choisi un lapin"
}
elif [ "$PRO" = "POU" ]; then
{
zenity --info --title="Produit choisi" --text="Vous avez choisi un poulet"
}
else
{
zenity --info --title="Attention" --text="pfff"
}
fi
exit
Si vous avez une solution à me proposer, je suis preneur !!
Mon blog : http://ubunblox.servhome.org/ --> Tutos, Astuces, etc...
Portable : Asus Eee PC
Desktop : Asus P4c800, Intel P4C 3Ghz,
Corsair twinx xms Cas 2 2*512,Nvidia 6800GT
Hors ligne
#2 Le 15/03/2008, à 22:22
- Link31
Re : script zenity + if,elif etc
Enlève les {}
Hors ligne
#3 Le 15/03/2008, à 22:34
- weedfast
Re : script zenity + if,elif etc
Ca ne change rien, enfin si : même si je coche lapin ou poulet le script me renvoie à la boite de dialogue suivante :
zenity --info --title="Attention" --text="pfff"
Dernière modification par weedfast (Le 15/03/2008, à 22:35)
Mon blog : http://ubunblox.servhome.org/ --> Tutos, Astuces, etc...
Portable : Asus Eee PC
Desktop : Asus P4c800, Intel P4C 3Ghz,
Corsair twinx xms Cas 2 2*512,Nvidia 6800GT
Hors ligne
#4 Le 17/03/2008, à 20:38
- PPN
Re : script zenity + if,elif etc
Voila la réponse.
Par contre attention : si on coche lapin et poulet le resultat sera "lapin|poulet" et n'est donc pas géré par tes tests (ajouté dans mon code)
Dans ma réponse tu peux tout à faire changer Checklist par Radiolist si celà t'interesse : ça fonctionnera correctement.
Bon courrage pour la suite!
#!/bin/bash
PRO=$(zenity --list --checklist --height=350 --width=250 \
--text="Choix des produits" \
--title="Course" \
--column="" --column="Produits" \
FALSE lapin \
FALSE poulet)
if [ $PRO = "lapin" ]; then
zenity --info --title="Produit choisi" --text="Vous avez choisi un lapin"
elif [ $PRO = "poulet" ]; then
zenity --info --title="Produit choisi" --text="Vous avez choisi un poulet"
elif [ $PRO = "lapin|poulet" ]; then
zenity --info --title="Produit choisi" --text="Vous avez choisi un lapin et un poulet"
else
zenity --info --title="Attention" --text="pfff"
fi
exit
Dernière modification par PPN (Le 17/03/2008, à 21:20)
Hors ligne
#5 Le 21/03/2008, à 23:52
- Ras'
Re : script zenity + if,elif etc
cool j'en avais besoin aussi je regarde ça demain
Par contre, comment on fait pour vérifier que l'on a pas coché plusieurs cases dans le cas ou on à plus de deux choix dans la boite de dialogue ?
On doit pas faire toutes les possibilitées au moins ? O_o
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#6 Le 22/03/2008, à 00:10
- PPN
Re : script zenity + if,elif etc
cool j'en avais besoin aussi je regarde ça demain
Par contre, comment on fait pour vérifier que l'on a pas coché plusieurs cases dans le cas ou on à plus de deux choix dans la boite de dialogue ?On doit pas faire toutes les possibilitées au moins ? O_o
Je pense que le mieux est de faire un if pour chaque cas non-double (un pour lapin, un pour poulet et un si rien dans l'exemple).
Mais au lieu de faire un simple if $resultat = "lapin" à mon avis il faut faire un truc du genre tester que le résultat de `echo $resultat | grep lapin` n'est pas vide : ceci gère à la fois les cas de réponse simple et multiple pour le lapin.
Il y a surement plus simple mais ça ne me vient pas à l'esprit ^^
Hors ligne
#7 Le 22/03/2008, à 09:35
- Alain.g
Re : script zenity + if,elif etc
Par contre, comment on fait pour vérifier que l'on a pas coché plusieurs cases dans le cas ou on à plus de deux choix dans la boite de dialogue ?
Pour ne permettre qu'une sélection, il faut remplacer --checklist par --radiolist
Xubuntu Karmic !
Hors ligne
#8 Le 09/04/2008, à 18:54
- weedfast
Re : script zenity + if,elif etc
Raskal a écrit :Par contre, comment on fait pour vérifier que l'on a pas coché plusieurs cases dans le cas ou on à plus de deux choix dans la boite de dialogue ?
Pour ne permettre qu'une sélection, il faut remplacer --checklist par --radiolist
Merci pour le --radiolist !!
Mon blog : http://ubunblox.servhome.org/ --> Tutos, Astuces, etc...
Portable : Asus Eee PC
Desktop : Asus P4c800, Intel P4C 3Ghz,
Corsair twinx xms Cas 2 2*512,Nvidia 6800GT
Hors ligne
#9 Le 09/04/2008, à 19:23
- Ras'
Re : script zenity + if,elif etc
Carrément !!!
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#10 Le 21/04/2008, à 11:25
- tarte en pion
Re : script zenity + if,elif etc
Bonjour, je faisais une recherche dur Google pour faire un script avec zenity --checklist et je suis tombé ici
Voici une solution que j'ai trouvée en modifiant un script :
#!/bin/bash
choice="$(zenity --width=200 --height=150 --list --column "" --checklist --title="Que faut-il sauvegarder ?" \
--column="" \
FALSE do1 \
FALSE do2)"
case "${choice}" in
*"do1"* )
echo "hello1"
;;
esac
case "${choice}" in
*"do2"* )
echo "hello2"
;;
esac
Comme ça, nul besoin de calculer toutes les combinaisons !
Dernière modification par tarte en pion (Le 21/04/2008, à 12:50)
Hors ligne
#11 Le 21/04/2008, à 17:21
- weedfast
Re : script zenity + if,elif etc
à tester ... j'avais tout de même trouver une "parade" avec l'option --radiolist.
Merci !!!
Mon blog : http://ubunblox.servhome.org/ --> Tutos, Astuces, etc...
Portable : Asus Eee PC
Desktop : Asus P4c800, Intel P4C 3Ghz,
Corsair twinx xms Cas 2 2*512,Nvidia 6800GT
Hors ligne
#12 Le 22/04/2008, à 05:41
- smo
Re : script zenity + if,elif etc
#!/bin/bash
choice="$(zenity --width=200 --height=150 --list --column "" --checklist --title="Que faut-il sauvegarder ?" \
--column="" \
FALSE do1 \
FALSE do2)"
case $choice in
*"do1"*)
echo "hello1"
;;
*"do2"* )
echo "hello2"
;;
esac
pourquoi deux case?
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#13 Le 22/04/2008, à 07:27
- tarte en pion
Re : script zenity + if,elif etc
Pour évaluer les deux cas séparément : avec un seul (tel que c'était dans le script d'origine que j'ai trouvé quelque part), c'est soit 1, soit 2, mais jamais 1 et 2. Or le but est d'avoir toutes les combinaisons possibles, surtout dans un script où la liste contient une dizaine d'élément !
Hors ligne
Pages : 1