TCL(Tool Command Language),读音为tikkle,是一种语法非常简单的脚本语言,和Shell等类似,在unix和linux平台上,都自带了它的编译器。在通信厂商中,该脚本的使用非常广泛,如Cisco的路由器中,流程控制脚本就是Tcl完成的。
Expect,是使用TCL写的一种语言,用于交互式输入输出使用,和TCL在一起使用的情况非常常见。所谓的交互式输入输出,是指这种语言能够捕获终端的输出,然后根据输出进行不同的输入,比如一般的登录过程,屏幕上打印Username的时候,程序输入用户名,屏幕上打印password的时候,程序输入密码。如果此时输入的密码错误,屏幕会打印重新输入,如果在Expect中进行一定的处理,可以输入预设的第二个密码。不知道你是不是看出来什么弊端了?对的,这样下去,可以写一个暴力密码破解器了。
关于TCL/Expect的一些详细介绍,请参考
http://www.tclchina.com/column/translation.htm
我将在以后的文章中,结合我的一些项目,来进行TCL/Expect的介绍。