Expect是基于Tcl语言的一种脚本语言,其实无论是交互还是非交互的应用场合,Expect都可以大显身手,但是对于交互式的特定场合,还非Except莫属。
[b]第1步:使用root用户登录[/b]
[b]第2步:复制安装文件[/b]
在合适的位置创建一个文件夹,例如soft
修改文件夹读写权限
chmod 777 soft
[b]第3步:解压安装包[/b]
[color=blue][b][我已经上传了expect-5.43.0.tar.gz 和 tcl8.4.11-src.tar.gz 在本文后面可以点击下载][/b][/color]
把expect-5.43.0.tar.gz和tcl8.4.11-src.tar.gz复制到soft目录下,
解压tcl8.4.11-src.tar.gz
tar –xvf tcl8.4.11-src.tar.gz
解压后将创建tcl8.4.11 文件夹
解压expect-5.43.0.tar.gz
tar –xvf expect-5.43.0.tar.gz
解压后将创建expect-5.43 文件夹
目录结构如下图(SSH登录的截图)所示:
[img]http://dl.iteye.com/upload/attachment/496831/22c0d91a-59ea-364a-8f2f-696892a0a9d7.jpg[/img]
上图中可以看出在/soft下有tcl8.4.11和tcl8.4.11 两个文件夹
[b]第4步:安装tcl[/b]
进入/soft/tcl8.4.11/unix 目录
a.执行sed -i "s/relid'/relid/" configure
b.执行./configure --prefix=/expect
c.执行make
d.执行make install
e.执行mkdir -p /tools/lib
f.执行cp tclConfig.sh /tools/lib/
g. 将/tools/bin目录export到环境变量
tclpath=/tools/bin
export tclpath
[b]第5步:安装Expect[/b]
进入/soft/expect-5.43目录
执行./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no
如果最后一行提示:
configure: error: Can't find Tcl private headers
需要添加一个头文件目录参数
--with-tclinclude=../tcl8.4.11/generic,即
./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no --with-tclinclude=../tcl8.4.11/generic
[b]../tcl8.4.11/generic[/b] 就是tcl解压安装后的路径,一定确保该路径存在
执行make
执行make install
编译完成后会生在/tools/bin内生成expect命令
执行/tools/bin/expect出现[b]expect1.1>[/b]提示符说明expect安装成功.
[b]第6步:创建一个符号链接[/b]
ln -s /tools/bin/expect /usr/bin/expect
查看符号连接
ls -l /usr/bin/expect
lrwxrwxrwx 1 root root 17 06-09 11:38 /usr/bin/expect -> /tools/bin/expect
这个符号链接将在编写expect脚本文件时用到,例如在expect文件头部会指定用于执行该脚本的shell
#!/usr/bin/expect
...
...
[b]第1步:使用root用户登录[/b]
[b]第2步:复制安装文件[/b]
在合适的位置创建一个文件夹,例如soft
修改文件夹读写权限
chmod 777 soft
[b]第3步:解压安装包[/b]
[color=blue][b][我已经上传了expect-5.43.0.tar.gz 和 tcl8.4.11-src.tar.gz 在本文后面可以点击下载][/b][/color]
把expect-5.43.0.tar.gz和tcl8.4.11-src.tar.gz复制到soft目录下,
解压tcl8.4.11-src.tar.gz
tar –xvf tcl8.4.11-src.tar.gz
解压后将创建tcl8.4.11 文件夹
解压expect-5.43.0.tar.gz
tar –xvf expect-5.43.0.tar.gz
解压后将创建expect-5.43 文件夹
目录结构如下图(SSH登录的截图)所示:
[img]http://dl.iteye.com/upload/attachment/496831/22c0d91a-59ea-364a-8f2f-696892a0a9d7.jpg[/img]
上图中可以看出在/soft下有tcl8.4.11和tcl8.4.11 两个文件夹
[b]第4步:安装tcl[/b]
进入/soft/tcl8.4.11/unix 目录
a.执行sed -i "s/relid'/relid/" configure
b.执行./configure --prefix=/expect
c.执行make
d.执行make install
e.执行mkdir -p /tools/lib
f.执行cp tclConfig.sh /tools/lib/
g. 将/tools/bin目录export到环境变量
tclpath=/tools/bin
export tclpath
[b]第5步:安装Expect[/b]
进入/soft/expect-5.43目录
执行./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no
如果最后一行提示:
configure: error: Can't find Tcl private headers
需要添加一个头文件目录参数
--with-tclinclude=../tcl8.4.11/generic,即
./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no --with-tclinclude=../tcl8.4.11/generic
[b]../tcl8.4.11/generic[/b] 就是tcl解压安装后的路径,一定确保该路径存在
执行make
执行make install
编译完成后会生在/tools/bin内生成expect命令
执行/tools/bin/expect出现[b]expect1.1>[/b]提示符说明expect安装成功.
[b]第6步:创建一个符号链接[/b]
ln -s /tools/bin/expect /usr/bin/expect
查看符号连接
ls -l /usr/bin/expect
lrwxrwxrwx 1 root root 17 06-09 11:38 /usr/bin/expect -> /tools/bin/expect
这个符号链接将在编写expect脚本文件时用到,例如在expect文件头部会指定用于执行该脚本的shell
#!/usr/bin/expect
...
...