前言
TCL是一种类似shell脚本的语言,你可以使用它来完成许多操作。expect是从它发展出来的。如果你想要写一个能够自动处理输入输出的脚本(如向用户提问并且验证密码)又不想面对C或者Perl,那么expect是你的最好的选择
expect是在tcl基础上创建起来的,它还提供了一些tcl所没有的命令,它可以用来做一些linux下无法做到交互的一些命令操作
安装expect
yum -y install expect
也可以通过源码包的方式进行安装
下载的 expect-5.45.0.tar.gz 需要编译、安装,需要依赖tcl-devel,所以要先确认安装tcl相关包
1、首先检查tcl 安装情况
rpm -qa | grep tcl
结果显示如下: tcl-8.5.13-8.el7.x86_64
结果表示已经安装了 tcl 但是没有安装tcl-devel 所以就要安装
http://jaist.dl.sourceforge.net/project/tcl/Tcl/8.6.4/tcl8.6.4-src.tar.gz
如何安装可以查看:http://www.tcl.tk/doc/howto/compile.html
http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download
使用expect
使用expect创建脚本的方法
1). 定义脚本执行的shell
#!/usr/bin/expect
这里定义的是expect可执行文件的链接路径(或真实路径),功能类似于bash等shell功能
2). 设置超时时间,单位是秒