2009-09-15 10 views
0
package require Expect 

#### Log File Name ##### 
set logFile "mtte_result.log" 
set NextLine "\n" 
set RTSPrompt "RTS_Mon-> " 
exp_spawn plink.exe -telnet -P 10009 10.245.97.42 

set spid $spawn_id 
#exp_send $NextLine 
flush stdout 

##### Log the session to the File ######### 
    exp_log_file -noappend $logFile 

exp_sleep 5 
exp_send $NextLine 
expect $RTSPrompt 
exp_send "hello world\r" 

expect $RTSPrompt 
exp_sleep 5 
exp_close -i $spid 
######################################################## 
######################################################## 

Ici logfile a sortie comme:- ne pas forcer l'entrée à processus donné naissance

RTS_Mon-> 

*RTS_Mon-> 

##################################### 

Il semble donc que si l'entrée ne soit pas forcé au processus. Y a-t-il quelque chose qui ne va pas dans le script?

+0

Indice: pour mettre en forme du code, placez 4 espaces au début de chaque ligne - http://stackoverflow.com/editing-help –

+0

Quel est le but de l'envoi \ n? –

Répondre

0

Je ne connais si elle était une erreur de pâte copie &, mais je ne pense pas que votre code fonctionnera, devrait être quelque chose comme:

package require Expect 
# Log File Name 
set logFile "mtte_result.log" 
set NextLine "\n" 
set RTSPrompt "RTS_Mon-> " 
exp_spawn plink.exe -telnet -P 10009 10.245.97.42 
set spid $spawn_id 
exp_send $NextLine 
flush stdout 
# Log the session to the File 
exp_log_file -noappend $logFile 
exp_sleep 5 
exp_send $NextLine 
expect $RTSPrompt 
exp_send "hello world\r" 
expect $RTSPrompt 
exp_sleep 5 
exp_close -i $spid 

Assurez-vous également que le retour de « exp_spawn » correctement