#1 Le 29/12/2012, à 17:21
- PowaBanga
[résolu]console utiliser variable memorisée dans un autre bash
Bonjour à tous !
Voilà j'aimerais utiliser une variable, mémorisé dans un premier bash, dans le second, mais je ne trouve pas comment faire...
si vous pouvez m'aider, c'est cool.
Voici mes script ca vaudra mieux qu'une longue explication :
#ce fichier se situe ici : /home/usr/Documents/trucs/pcsx/test
#!/bin/bash
EMUPROFIL=epsxe
GAMEFILE=~/Documents/trucs/pcsx/SledStorm-PSX-PAL.bin
bash /home/$USER/Documents/trucs/pcsx/PCSXP
#celui-ci ici : /home/usr/Documents/trucs/pcsx/PCSXP
#!/bin/bash
qjoypad "$EMUPROFIL" &
pcsx -nogui -psxout -cdfile '/media/$USER/$GAMEFILE'
case $? in
0) ;;
1) notify-send -i /home/$USER/Images/PS1.png "Impossible de lancer ce jeu" "Assurez-vous d'avoir bien branché vos périférques" ;;
-1) notify-send -i /home/$USER/Images/PS1.png "Impossible de lancer ce jeu" "erreur inatendue, Si vous n'êtes pas l'utilisateur de ce pc, vous devriez demander conseil à $LOGNAME" ;;
esac
killall qjoypad
#Et voici le résultat dans une console :
usr@karkatouf:~$ bash /home/usr/Documents/trucs/pcsx/test
Error opening CD-ROM plugin!
usr@karkatouf:~$ ^C
usr@karkatouf:~$ echo $GAMEFILE.$EMUPROFIL
.
usr@karkatouf:~$
Dernière modification par PowaBanga (Le 28/12/2013, à 00:43)
Hors ligne
#2 Le 29/12/2012, à 17:32
- pingouinux
Re : [résolu]console utiliser variable memorisée dans un autre bash
Bonjour,
Dans le premier script, appeler le second comme ceci :
bash /home/$USER/Documents/trucs/pcsx/PCSXP "$EMUPROFIL" "$GAMEFILE"
Dans le second, mettre ceci en tête :
EMUPROFIL="$1"
GAMEFILE="$2"
Hors ligne
#3 Le 29/12/2012, à 17:43
- PowaBanga
Re : [résolu]console utiliser variable memorisée dans un autre bash
ha enfin un truc intéressant !
hm seulement je ne comrpend pas bien je pense, j'ai donc édité le premier fichier de la sorte :
#!/bin/bash
EMUPROFIL=epsxe
GAMEFILE=~/Documents/trucs/pcsx/SledStorm-PSX-PAL.bin
bash /home/$USER/Documents/trucs/pcsx/PCSXP "$EMUPROFIL" "$GAMEFILE"
et le second ainsi :
#!/bin/bash
EMUPROFIL="$1"
GAMEFILE="$2"
qjoypad "$EMUPROFIL" &
pcsx -nogui -psxout -cdfile '/media/$USER/$GAMEFILE'
case $? in
0) ;;
1) notify-send -i /home/$USER/Images/PS1.png "Impossible de lancer ce jeu" "Assurez-vous d'avoir bien branché vos périférques" ;;
-1) notify-send -i /home/$USER/Images/PS1.png "Impossible de lancer ce jeu" "erreur inatendue, Si vous n'êtes pas l'utilisateur de ce pc, vous devriez demander conseil à $LOGNAME" ;;
esac
killall qjoypad
mais ca n'a pas marché $GAMEFILE et $EMUPROFIL répondent toujours par le neant, alors j'ai essayé comme çeci au cas ou j'aurais mal compris :
#!/bin/bash
EMUPROFIL="$EMUPROFIL"
GAMEFILE="$GAMEFILE"
qjoypad "$EMUPROFIL" &
pcsx -nogui -psxout -cdfile '/media/$USER/$GAMEFILE'
case $? in
0) ;;
1) notify-send -i /home/$USER/Images/PS1.png "Impossible de lancer ce jeu" "Assurez-vous d'avoir bien branché vos périférques" ;;
-1) notify-send -i /home/$USER/Images/PS1.png "Impossible de lancer ce jeu" "erreur inatendue, Si vous n'êtes pas l'utilisateur de ce pc, vous devriez demander conseil à $LOGNAME" ;;
esac
killall qjoypad
Mais la réponse est la même ca change rien...
Hors ligne
#4 Le 29/12/2012, à 17:44
- PowaBanga
Re : [résolu]console utiliser variable memorisée dans un autre bash
et je ne comprend pas bien pourquoi mes messages sont envoyés en double... mistère mistère... ^^
Hors ligne
#5 Le 29/12/2012, à 17:51
- pingouinux
Re : [résolu]console utiliser variable memorisée dans un autre bash
Il faut remplacer cette ligne du script n° 2
pcsx -nogui -psxout -cdfile '/media/$USER/$GAMEFILE'
par
pcsx -nogui -psxout -cdfile "/media/$USER/$GAMEFILE"
En effet, entre ' ', les variables d'environnement ne sont pas interprétées; il faut mettre des " ".
Autre solution, en reprenant les scripts du début : appeler le second script comme ceci :
source /home/$USER/Documents/trucs/pcsx/PCSXP
Hors ligne
#6 Le 29/12/2012, à 17:57
- PowaBanga
Re : [résolu]console utiliser variable memorisée dans un autre bash
ha oui non c'est bon j'ai trouvé mon erreur
elle vient de :
media/$USER/$GAMEFILE
qui est traduit par : /media/usr//home/$USER/Documents/trucs/pcsx/PCSXP
media/$USER était en trop quoi
Dernière modification par PowaBanga (Le 28/12/2013, à 00:43)
Hors ligne