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
########################################################
########################################################
此处logfile的输出为:
RTS_Mon->
*RTS_Mon->
#####################################
所以似乎输入不是强制进程的。 以上脚本有什么问题吗?
答案 0 :(得分: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
还要确保“exp_spawn”正确返回