Expect : sortir de la commande interact

Résolu/Fermé
bulot - 12 oct. 2010 à 11:04
 bulot - 12 oct. 2010 à 12:19
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
12 oct. 2010 à 12:06
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
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