希望通过脚本实现登录功能。
expect是一个用来处理交互的命令。借助expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。
expect是交互性很强的脚本语言,但是expect依赖于tcl,但linux系统里一般不自带安装tcl,需要手动安装。
下载的 expect-5.43.0.tar.gz 需要编译、安装,需要依赖tcl-devel,所以要先确认安装tcl相关包
1、首先检查tcl 安装情况
#whereis tcl
没有就需要安装。
安装前查看清楚操作系统位数,以便下载相应的安装包。
#cat /proc/version
2、下载安装包
tcl版本 8.4.19
http://sourceforge.net/projects/tcl/files/Tcl/8.4.19/tcl8.4.19-src.tar.gz/download
except版本5.45
http://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz
下载两个包,分别解压。 注:这里我将两个包存放地址为:/usr/local/src
解压:
3、先安装tcl
进入tcl解压目录,然后进入unix目录:
#sudo ./configure
#sudo make
#sudo make install
4、安装expect
进入expect解压目录:
安装时需指定tcl的相关目录
--with-tclinclude 参数就是 tcl开发包的安装位置
#sudo ./configure --with-tclinclude=/usr/local/src/tcl8.4.19/generic/ --with-tclconfig=/usr/local/lib/
#sudo make
#sudo make install
注意这里的configure命令需要使用–with-tclinclude选项传入tcl安装包中的generic文件夹路径。
安装完成之后运行expect命令,查看是否安装成功。
# expect
expect1.1>