Expect - 不强制输入到生成的进程
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
########################################################
########################################################
这里日志文件的输出为:
RTS_Mon->
*RTS_Mon->
#####################################
所以看起来好像输入没有被强制输入到进程中。 上面的脚本有问题吗?
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
########################################################
########################################################
Here logfile has output as:
RTS_Mon->
*RTS_Mon->
#####################################
So it seems as if input is not forced to the process.
Is there something wrong to above script?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道这是否是复制和粘贴错误,但我认为您的代码不会工作,应该是这样的:
还要确保“exp_spawn”正确返回
I don't known if it was a copy&paste error, but I don't think your code will work, should be something like:
Also make sure that the "exp_spawn" returns properly