怎么用TCL/EXPECT脚本实现telnet批处理?

4年前 (2020-12-16)阅读432回复0
访客
访客
  • 管理员
  • 发消息
  • 注册排名3
  • 经验值65770
  • 级别管理员
  • 主题13152
  • 回复5
楼主

  一个简单的TCL/EXPECT脚本,完成telnet到远程设备的功能。通过这个例子,大家可以看到使用TCL/EXPECT脚本构造测试程序,是非常简洁的。从今天开始,陆续把我所写的一些自动测试脚本贴上来,希望对初学者有所帮助。由于目前没有找好合适的服务器存放代码,所以代码先贴在blog的正文中,以后再提供完整的代码下载。

  我telnet批处理测试脚本运行在debian linux下,使用/usr/bin/expect进行解释执行。为了简化处理,把一些常用的功能编写成函数,放在commonLib。exp文件中,其它脚本文件可以使用source commonLib。

  exp命令引用这些函数。下面的函数完成telenet到目标机器并login。从其实现上大家可以看到tcl/expect编写测试脚本的简洁。这个函数带有三个参数,分别是目标机器的IP地址ipaddr,登录用户名user和登录密码,telenet的端口号采用默认的23端口。

  函数中使用了三个全局变量,g_prompt,g_usrPrompt和g_pwdPrompt,分别表示登录后的命令提示符,提示用户名输入的提示符,以及提示密码输入的提示符,这三个全局变量定义在global。exp中。之所以采用全局变量,是因为这些值使用比较广泛,但在不同设备中都不相同。

  使用全局变量可以方便修改。

0
0
收藏0
回帖

怎么用TCL/EXPECT脚本实现telnet批处理? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息