Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[shell] script detection vdr (resolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 11:12 am    Post subject: [shell] script detection vdr (resolu) Reply with quote

Bonjour à tous!
Voilà,j'ai installer gentoo pour faire fonctionner vdr,et j'aimerai faire un script de detection pour lançer aaxine uniquement àprès que vdr soit actif,et vu que je n'y connait rien en shell,je me tourne vers vous :wink:

voilà mon debut de script.....ne pas rigoler svp :oops:
#!/bin/sh

TEST="`/bin/pstree | grep -w 'vdr' | wc -l`"
XINE="/usr/local/bin/aaxine"
STREAM="vdr://tmp/vdr-xine/stream#demux:mpeg_pes"

if [ $TEST -eq 1 ] ; then
$XINE -V aadxr3 $STREAM
fi
while (false) ; do
echo "attente de stream"
done

biensûr ça ne fonctionne pas,si une âme charitable pouvait m'éclairer .....


Last edited by grizzmo on Sat Feb 04, 2006 12:37 am; edited 2 times in total
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 11:24 am    Post subject: Re: script detection vdr Reply with quote

J'ai pas trop regardé le test en soit mais pour executer une commande qui commence par une variable, 2 solutions qui revient au même :

eval $fait $ce $que $je $te $dis mais faut jongler avec les "" et '' quand t'as des bouts de texte et tout.
`echo "$fait $ce $que $je $te $dis"`
`
donc a première vue :

grizzmo wrote:

#!/bin/sh

TEST="`/bin/pstree | grep -w 'vdr' | wc -l`"
XINE="/usr/local/bin/aaxine"
STREAM="vdr://tmp/vdr-xine/stream#demux:mpeg_pes"

if [ $TEST -eq 1 ] ; then
`echo " $XINE -V aadxr3 $STREAM"` #backquotes hein! pas single quotes
fi
while (false) ; do
echo "attente de stream"
done

biensûr ça ne fonctionne pas,si une âme charitable pouvait m'éclairer .....
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2885
Location: Grenoble, France

PostPosted: Fri Feb 03, 2006 3:08 pm    Post subject: Reply with quote

Bonjour et bienvenue,

peux-tu lire nos conventions et mettre ton titre à jour s'il te plait ?

Merci!
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 8:13 pm    Post subject: Reply with quote

désolé pour le titre :(

sinon,le script fonctionne quand vdr est déjà lançé,mais si je l'execute avant vdr,il ne trouve rien :?
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 8:31 pm    Post subject: Reply with quote

grizzmo wrote:
désolé pour le titre :(

sinon,le script fonctionne quand vdr est déjà lançé,mais si je l'execute avant vdr,il ne trouve rien :?


Normal, to while est après le if qui teste l'existence du stream. laisse moi 2 secondes pour copier coller et j'edite

edit : (juste moi j'ai un doute sur le -w pour grep vu le caractère zarb que colle pstree devant les noms de processus)

Quote:
#!/bin/sh

TEST="/bin/pstree | grep -w 'vdr' | wc -l"
XINE="/usr/local/bin/aaxine"
STREAM="vdr://tmp/vdr-xine/stream#demux:mpeg_pes"

echo -n "Attente de stream..."
while (`echo $TEST` -eq 0 ) ;
do
done
echo "[stream trouvé]"
`echo " $XINE -V aadxr3 $STREAM"` #backquotes hein! pas single quotes


ça marche ça? edit 2 : ça devrait y'être passé les 42 erreurs de syntaxe habituelles...
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 8:58 pm    Post subject: Reply with quote

non,toujours pas,
j'ai bien "Attente de stream" qui défile,mais rien quand je lance vdr,ça continue....
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 9:01 pm    Post subject: Reply with quote

grizzmo wrote:
non,toujours pas,
j'ai bien "Attente de stream" qui défile,mais rien quand je lance vdr,ça continue....


et si tu vires le -w de grep? (ps fait gaffe j'ai édité 42 fois mon post précédent)
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 9:09 pm    Post subject: Reply with quote

arf
line 10: syntax error near unexpected token `done'
en tout cas merci pour les réponses éclaires :wink:
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 9:18 pm    Post subject: Reply with quote

grizzmo wrote:
arf
line 10: syntax error near unexpected token `done'
en tout cas merci pour les réponses éclaires :wink:


Lol, oki! Pas de quoi, par contre, par contre... le (résolu) stp :wink:
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 9:27 pm    Post subject: Reply with quote

lol nop pas encore 8O
marche toujours pas !
le merci c'était pour la rapidité des réponses mais pour le script,j'ai une erreur à done...et si je le met à la fin ça me met:
line 8: 0: command not found
et pour la ligne
TEST="/bin/pstree | grep -w 'vdr' | wc -l"
il faut bien que je mette les backquotes,
TEST="`/bin/pstree | grep -w 'vdr' | wc -l`"
sinon y'a une erreur sur pstree.....
:oops:
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 9:48 pm    Post subject: Reply with quote

grizzmo wrote:
lol nop pas encore 8O
marche toujours pas !
le merci c'était pour la rapidité des réponses mais pour le script,j'ai une erreur à done...et si je le met à la fin ça me met:
line 8: 0: command not found
et pour la ligne
TEST="/bin/pstree | grep -w 'vdr' | wc -l"
il faut bien que je mette les backquotes,
TEST="`/bin/pstree | grep -w 'vdr' | wc -l`"
sinon y'a une erreur sur pstree.....
:oops:


non, normalement pas vu que dans la condition du while je fais `echo $TEST`
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 9:52 pm    Post subject: Reply with quote

en fait,tel qu'il est il y me fait
line 10: syntax error near unexpected token `done'
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 10:19 pm    Post subject: Reply with quote

Effectivement j'avais mal testé un truc, a priori pas le droit aux bacquotes dans la condition du while.

Code:
#!/bin/sh

TEST="`/bin/pstree | grep -w 'vdr' | wc -l`"
XINE="/usr/local/bin/aaxine"
STREAM="vdr://tmp/vdr-xine/stream#demux:mpeg_pes"

while (true) ; do
if [ $TEST -eq 1 ] ; then
echo -n "attente de stream"
echo "\t [ok]"
`echo " $XINE -V aadxr3 $STREAM"`
break
fi
done


je croise les doigts vu que j'ai pas ce qu'il faut pour tester.

edit : while (true) p'tain dodo mwa!
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Fri Feb 03, 2006 10:41 pm    Post subject: Reply with quote

il n'y a plus d'erreurs dans le script,mais il ne fait rien quand je lance vdr,il attend sans voir que la valeur et passée à 1 :?
mais si la valeur et déjà à 1,il lançe bien xine...

ps:j'utilise 2 console séparées pour faire les tests,est-ce qu'il ya un rapport???
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Feb 03, 2006 11:23 pm    Post subject: Reply with quote

grizzmo wrote:
il n'y a plus d'erreurs dans le script,mais il ne fait rien quand je lance vdr,il attend sans voir que la valeur et passée à 1 :?
mais si la valeur et déjà à 1,il lançe bien xine...

ps:j'utilise 2 console séparées pour faire les tests,est-ce qu'il ya un rapport???


Aaaah mais chuis trop c... c'est pour ça qu'il fallait que les backquotes soient dans le test et pas dans la variable (comment remettre une erreur antécédante en corrigeant la dernière :roll: ) sinon il n'est évalué qu'au début de l'execution et pas au moment du test comme on veut.!!!

Code:
#!/bin/sh

TEST_COMMAND="/bin/pstree | grep -w 'vdr' | wc -l"
XINE="/usr/local/bin/aaxine"
STREAM="vdr://tmp/vdr-xine/stream#demux:mpeg_pes"

while (true) ; do
TEST=`echo "$TEST_COMMAND"`
if [ $TEST -eq 1 ] ; then
echo -n "attente de stream"
echo "\t [ok]"
`echo " $XINE -V aadxr3 $STREAM"`
break
fi
done
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Sat Feb 04, 2006 12:09 am    Post subject: Reply with quote

j'ai testé mais il me repond
line 9: [: too many arguments
line 9: [: too many arguments
line 9: [: too many arguments
etc......
il ne prend pas la variable TEST_COMMAND sans les backquotes.....
et si je les remets,plus de message d'erreur mais il attend sans rien trouvé.

sur ce, la nuit porte conseils y parait :?
Back to top
View user's profile Send private message
grizzmo
n00b
n00b


Joined: 03 Feb 2006
Posts: 13

PostPosted: Sat Feb 04, 2006 12:36 am    Post subject: Reply with quote

alors bonne nouvelle,j'ai testé comme ça et ça fonctionne :)

#!/bin/sh

XINE="/usr/local/bin/xine"
STREAM="vdr://tmp/vdr-xine/stream#demux:mpeg_pes"

while (true) ; do
echo -n "attente de stream"
TEST=`/bin/pstree | grep -w 'vdr' | wc -l`
if [ $TEST -eq 1 ] ; then
echo "\t [ok]"
`echo " $XINE -V xv $STREAM"`
break
fi
done

merci encore Enlight pour ton aide :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum