如何在Expect中保存和解析命令输出?

jk0*_*k04 3 tcl expect

我在Linux服务器上编写Expect脚本的过程中,该服务器应该telnet到路由器以收集一些系统信息.到目前为止,我的脚本可以成功建立连接,运行路由器命令,断开连接并终止.

该命令显示了我需要解析的几行,我不确定在Expect中该怎么做.如何保存输出,grep一行,然后是行中的一列,最后将结果保存到文件中?如果可能的话,我想完全使用Expect而不是解决方法(例如Expect嵌入Bash).

谢谢你的时间.jk04

gle*_*man 7

期望发展的两个提示:

  • autoexpect 为您的自动化布置框架
  • exp_internal 1详细说明内部的期望是什么.当你无法弄清楚为什么你的正则表达式没有捕捉到你期望的东西时,这个是必不可少的.


Dyn*_* Fu 6

基本上,$ expect_out(缓冲区)[1].保持上次期望匹配的输出到当前的匹配.你可以在那里找到你的命令输出.

对于字符串操作,您可以简单地使用tcl的内置[2] [3].

  1. "如何在Expect中访问远程命令的结果" http://wiki.tcl.tk/2958
  2. "regexp" http://wiki.tcl.tk/986
  3. "字符串匹配" http://wiki.tcl.tk/4385