Expect : sortir de la commande interact

Résolu
bulot -  
 bulot -
Bonjour,

J'utilise la commande interact de expect et j'aimerai bien pouvoir en sortir sans intervenir. Avec timeout j'y arrive mais ça m'embete parce que je risque d'interrompre mon programme, et je n'arrive pas à le faire sortir autrement, par exemple
interact fini return
ne marche pas.


mon script de lancement :

#!/usr/bin/expect
spawn telnet asus02 
expect "login:"
send "Log\r"
expect "password:"
send "mdp\r"
expect ">"
send "echo je vais rentrer dans le bat\r"
expect ">"
send "lancementRhino.bat\r"
expect ">"
send "echo je suis sorti du bat\r"
interact timeout 100 return
exit




et dans lancementRhino.bat j'ai :

echo mybat tourne
cd "C:\Mon Chemin"
dir
Rhino4 /runscript="-_exit" rapide.txt
echo mybat fini




2 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

As-tu essayé avec "set timeout -1" (et en supprimant "interact") :

#!/usr/bin/expect
set timeout -1
spawn telnet asus02 
expect "login:"
send "Log\r"
expect "password:"
send "mdp\r"
expect ">"
send "echo je vais rentrer dans le bat\r"
expect ">"
send "lancementRhino.bat\r"
expect ">"
send "echo je suis sorti du bat\r"

exit
3
bulot
 
Salut jipicy!

Merci beaucoup pour cette info, ça marche très bien! Et ça m'enlève un gros pb, je commençais à desepérer (la programmation c'est vraiment pas mon truc!).

Le problème est donc résolu, mais je sais pas mettre ça en vert...
1