Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

Déjà un an…

#1 Le 30/04/2012, à 12:08

[RÉSOLUT]zenity dialogue texte d'information retourne 1 et 0

Bonjour, j'essayer un peu d'utiliser zenity en ce moment, et là je cale sur ce script

echo "blablabla" > $HOME/DDstep1
zenity --text-info \
       --title='Installation: D-Day: Normandy, Step 1' \
--filename=$HOME/DDstep1 \
--html \
--checkbox='peut pas continuer si on coche pas.'
if [ "$?" -eq 1 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="1= on arrête"
fi
if [ "$?" -eq 0 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="0=on continue"
fi
if [ "$?" -eq -1 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="-1"
fi

Quelqu'un saurait-il m'expliquer pourquoi quand je clique sur "annuler", cela me retourne à la fois 1 et 0 ???
alors que quand j'appuye sur "continuer" en ayant coché ma case, cela me retourne uniquement 0 .... Parce que là comme ça... mon script y sert à rien XD

Dernière modification par Hernou (Le 02/05/2012, à 16:16)


commence à y voir un tout petit peu plus clair :)

Hors ligne

#2 Le 30/04/2012, à 17:18

Re : [RÉSOLUT]zenity dialogue texte d'information retourne 1 et 0

Perso, ca me retourne soit 0 soit 1....

mais il semble y avoir quelques soucis avec zenity d'apres ce que j'ai vu ailleur....

EDIT :
en fait c'est ton script qui est foireux...

tu fais un if, mais le second if s'applique sur le 1er et non sur zenity...

il faut faire un

if [ "$?" -eq 1 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="1= on arrête"

elif [ "$?" -eq 0 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="0=on continue"

elif [ "$?" -eq -1 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="-1"
fi

Pour en etre sur, execute ta commande zenity et  "echo $?", tu verras de suite si zenity pose soucis ou si c'est ton script

Dernière modification par Hizoka (Le 30/04/2012, à 17:30)

Hors ligne

#3 Le 01/05/2012, à 12:26

Re : [RÉSOLUT]zenity dialogue texte d'information retourne 1 et 0

haa mais non c'est bon en fait, j'essayerais surment ce que tu m'a montré bien que je ne le comprenne pas encore tout à fait, mais la solution que j'ais trouvé entre temp est d'ajouter un exit 1

if [ "$?" -eq 1 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="1= on arrête"
exit 1
fi
if [ "$?" -eq -1 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="-1=erreur inatendue"
exit 1
fi
if [ "$?" -eq 0 ]; then
rm -rf  $HOME/DDstep
zenity --error \
--text="0=on continue"
fi

ce qui empêche le déroulement de la suite du code smile

Dernière modification par Hernou (Le 01/05/2012, à 12:27)


commence à y voir un tout petit peu plus clair :)

Hors ligne

#4 Le 01/05/2012, à 14:52

Re : [RÉSOLUT]zenity dialogue texte d'information retourne 1 et 0

Il ne faut pas utiliser if...fi (c'est lourd comme un âne mort !) mais case

case $? in
    0 ) rm -rf  $HOME/DDstep; zenity --info --text="0=on continue" ;;
    1 ) rm -rf  $HOME/DDstep; zenity --error --text="1= on arrête"; exit 1 ;;
    -1 ) rm -rf  $HOME/DDstep; zenity --error --text="1= erreur inatendue"; exit 1 ;;
esac

La réponse est 42

Hors ligne

#5 Le 01/05/2012, à 17:42

Re : [RÉSOLUT]zenity dialogue texte d'information retourne 1 et 0

En effet case est plus indiqué mais je ne voulais pas le perturbé dans sa demarche.

Hernou => Totalement inutile ton exit, tu alourdi ton code en mettant des exit et une batterie de if

if
then
...
elif
then
...
else
fi

veut dire

si ma condition est bonne
alors fais ca
....

Si la condition precedante n'a pas été remplie mais que cette nouvelle oui
alors fais ca
....

Dans tous les autres cas, fais ca
...

je te conseille de lire : http://abs.traduc.org/abs-fr

Hors ligne

#6 Le 02/05/2012, à 16:15

Re : [RÉSOLUT]zenity dialogue texte d'information retourne 1 et 0

si j'ai pas répondu de suite c'est parce que j'ai un peut joué avec ça avant, mais ca fonctionne très bien merci beaucoup en tout cas smile


commence à y voir un tout petit peu plus clair :)

Hors ligne

Haut de page ↑