关于expect在Windows上的安装和使用:
这里经过在网上的收集和验证,熟悉了两种方式,由于没有深入研究,仅供安装参考。
方式1:直接下载expect安装文件:
http://cit.wta.swin.edu.au/cit/subjects/CITP0021/lilydale/downloads/expect-5.21r1b1-setup.exe
安装后即可在bin目录下使用expect命令执行文件。
这种方式对于不需要完整的Tcl的功能的用户很适用,因为安装占用很少。
方式2:在ActiveState ActiveTcl官网下载TCL插件:
http://downloads.activestate.com/ActiveTcl/releases/8.5.14.0/ActiveTcl8.5.14.0.296777-win32-ix86-threaded.exe
然后在bin目录下安装对expect的支持,命令:teacup.exe install Expect。
安装完成后使用tclsh命令执行文件。
这种方式下,你只能通过tcl的脚本来实现你想要的Expect功能,事实上为了使用Expect不得不安装一些你可能不需要的功能
两种方式在脚本上有一点差异:
方式1测试脚本:
方式2的测试脚本需要在开始时加上一行:
package require Expect
......
这里经过在网上的收集和验证,熟悉了两种方式,由于没有深入研究,仅供安装参考。
方式1:直接下载expect安装文件:
http://cit.wta.swin.edu.au/cit/subjects/CITP0021/lilydale/downloads/expect-5.21r1b1-setup.exe
安装后即可在bin目录下使用expect命令执行文件。
这种方式对于不需要完整的Tcl的功能的用户很适用,因为安装占用很少。
方式2:在ActiveState ActiveTcl官网下载TCL插件:
http://downloads.activestate.com/ActiveTcl/releases/8.5.14.0/ActiveTcl8.5.14.0.296777-win32-ix86-threaded.exe
然后在bin目录下安装对expect的支持,命令:teacup.exe install Expect。
安装完成后使用tclsh命令执行文件。
这种方式下,你只能通过tcl的脚本来实现你想要的Expect功能,事实上为了使用Expect不得不安装一些你可能不需要的功能
两种方式在脚本上有一点差异:
方式1测试脚本:
- set timeout 4
- spawn telnet 172.0.0.1 3389
- puts "aaaaa"
- expect "login:"
- send "用户名\n"
- expect "*: "
- puts "aaaaa"
- send "密码\n"
- expect "*>"
- puts "aaaaa"
- send "telnet 172.0.0.1\n"
- puts "aaaaa"
- expect "login:"
- send "administrator\n"
- puts "aaaaa"
- expect "password:"
- send "123456\n"
- puts "aaaaa"
- expect "*->"
- send "get performance cpu\n"
- expect "*->"
- send "get memory\n"
- expect "*->"
- send "get session | include alloc\n"
- expect "*->"
- send "exit\n"
- expect "*>"
- send "exit/n"
- expect eof
方式2的测试脚本需要在开始时加上一行:
package require Expect
......