最近因为学习tcl脚本语言,需要用到expect扩展包,结合网上的资料和自己的学习情况做一下整理。
expect是一种基于TCL的解释型脚本语言,能够实现自动和交互式任务进行通信,而无需人的干预。expect由一系列expect-send对组成:expect等待输出中输出特定的字符,然后发送特定的响应。
Expect需要Tcl编程语言的支持,要在系统上运行Expect必须首先安装Tcl。expect相关软件包版本有多个,如expect-tcl8.3、expectk、expect-dev等,可根据自身需求选择安装。
我们工作中主要利用expect扩展包来实现telnet到远程终端、输入命令来控制终端的运行,在执行一些重复性工作或是要输入大量配置时相当方便。
一、expect的一个小例子(windows环境下)
package require Expect
spawn telnet 192.168.86.172
set telnet $spawn_id