#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
É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
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
Hors ligne