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 03/05/2012, à 17:07

PowaBanga

[Résolut] zénity sélection de fichier renvois toujours -1 au lieu de 0

Bonjour,
voici un bash (qui est en fait une partie de celui que j'essaye de créer) qui est sensé ouvrir une interface graphique pour que l'utilisateur puisse sélectionner un fichier, et que celui-ci soit déplacé et renommé. Seulement voilà, quand je sélectionne mon fichier, cette interface me renvois toujours une erreur inconnue : l'erreur 05 :'(

#/bin/bash

echo '#/bin/bash
zenity --question \
--no-wrap \
--text="If you have not already downloaded 
  the installer.exe of the game, this 
       programe can do for you.
  Click YES to download the game, 
  or NO to select among your files"
if [ "$?" -eq 1 ]; then
bash $HOME/step2Ch
fi
if [ "$?" -eq 0 ]; then
bash $HOME/step2D
fi
if [ "$?" -eq -1 ]; then
zenity --error \
--text="-1"
fi
' > $HOME/step2


echo 'mkdir -p $HOME/.applications/win/Games/dday
installer=`zenity --file-selection --title "File" --save`
if [ "$?" -eq 1 ]; then
#123456#
zenity --question \
 --no-wrap \
 --title="Do you want stop ?" \
--text="You have not selected file
Do you want stop the installation ? "

    if [ "$?" -eq 0 ]; then
           zenity --error \
                        --no-wrap \
                      --text="  001"
    elif [ "$?" -eq 1 ]; then 
            bash $HOME/step2
     else 
            zenity --error \
                   --no-wrap \
                    --text="003"
       fi
elif [ "$?" -eq 0 ]; then
zenity --error \
 --no-wrap \
--text="  004."
mv "$installer" $HOME/.applications/win/Games/dday/installer.exe
else
zenity --error \
 --no-wrap \
--text=" 05"
fi' > $HOME/step2Ch




mkdir -p $HOME/.applications/win/Games/dday
installer=`zenity --file-selection --title "File" --save`
if [ "$?" -eq 1 ]; then
#123456#
zenity --question \
 --no-wrap \
 --title="Do you want stop ?" \
--text="You have not selected file
Do you want stop the installation ? "

    if [ "$?" -eq 0 ]; then
           zenity --error \
                        --no-wrap \
                      --text="  001"
    elif [ "$?" -eq 1 ]; then 
            bash $HOME/step2
     else 
            zenity --error \
                   --no-wrap \
                    --text="003"
       fi
elif [ "$?" -eq 0 ]; then
zenity --error \
 --no-wrap \
--text="  004."
mv "$installer" $HOME/.applications/win/Games/dday/installer.exe
else
zenity --error \
 --no-wrap \
--text=" 05"
fi

Et je ne vois vraiment pas d'ou viens l'erreur mad

Édit :
Bon j'ai quand même cherché, j'ai un peu mieux ciblé le problème sans pour autant l'avoir trouvé, cela vient de mon if/fi :

if [ "$?" -eq 1 ]; then
zenity --question \
 --title="Do you want stop ?" \
--text="You have not selected file
Do you want stop the installation ? "
elif [ "$?" -eq 0 ]; then
echo $?
else
zenity --error \
--text=" 05"
fi

Ceci me renvois toujours la réponse 05 je pige pas du tout...

Dernière modification par PowaBanga (Le 03/05/2012, à 19:15)

Hors ligne

#2 Le 03/05/2012, à 19:05

pingouinux

Re : [Résolut] zénity sélection de fichier renvois toujours -1 au lieu de 0

Bonjour,
Je pense qu'il se passe ceci :

  • zenity renvoie bien 0

  • if [ "$?" -eq 1 ]; then n'est donc pas vérifié, et retourne 1

  • elif [ "$?" -eq 0 ]; then n'est donc pas vérifié non plus

  • et on passe dans le else

2 remèdes au choix :

  • Utiliser case comme te l'a conseillé twocats #4 dans cette discussion

  • Faire : ier=$? après l'appel de zenity, et tester $ier

Dernière modification par pingouinux (Le 03/05/2012, à 20:13)

Hors ligne

#3 Le 03/05/2012, à 19:15

PowaBanga

Re : [Résolut] zénity sélection de fichier renvois toujours -1 au lieu de 0

haaa okay j'ai pigé comment ca fonctionne maintenant c'est cool merci beaucoup smile
Je vous avoue que j'ai eu envie de faire le truc, alors je me suis jeté à l'eau, car en fait je me suis dis que ce serait le meilleur moyen pour moi d’apprendre, au départ quand j'ai vu l'utilisation des case/esac. Enfin bref, à partir de maintenant je vais vraiment utiliser ce truc là.

Merci pour ton explication smile

Hors ligne