<< Back to man.ChinaUnix.net

5.9. Expect-5.43.0

Expect 软件包包含一个通过执行脚本对话框与其它交互式程序通信的工具。

预计编译时间: 0.1 SBU
所需磁盘空间: 4.0 MB
安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Sed, Tcl

5.9.1. 安装 Expect

先修正一个可能导致 GCC 测试程序假失败的 bug :

patch -Np1 -i ../expect-5.43.0-spawn-1.patch

现在准备编译 Expect :

./configure --prefix=/tools --with-tcl=/tools/lib \
   --with-tclinclude=$TCLPATH --with-x=no

配置选项的含义:

--with-tcl=/tools/lib

这个选项确保配置脚本找到的是安装在临时工具目录下的 Tcl ,而不是宿主系统里的。

--with-tclinclude=$TCLPATH

这个选项告诉 Expect 到哪里去寻找 Tcl 的源代码目录和头文件。使用这个选项可以避免 configure 脚本因为找不到 Tcl 的源代码目录而导致的失败。

--with-x=no

这个选项告诉 configure 脚本不要搜索 Tk(Tcl的图形界面组件)或者 X Window 系统的库,这两者都可能位于宿主系统上。

编译软件包:

make

要测试结果,请运行 make test 命令。请注意,已知 Expect 的测试程序会在某些不在我们控制范围内的宿主系统下出现测试失败。因此,如果您运行这里的测试程序失败了也没关系,因为这并不关键。

安装软件包:

make SCRIPTS="" install

make 的参数的含义如下:

SCRIPTS=""

这个选项防止安装 Expect 所补充的一些并不需要的脚本。

现在撤销 TCLPATH 环境变量:

unset TCLPATH

Tcl 和 Expect 的源码目录现在可以删除了。

5.9.2. Expect 的内容

安装的程序: expect
安装的库文件: libexpect-5.43.a

简要描述

expect

按照一个脚本与其它交互式程序通信

libexpect-5.43.a

包含的函数可以让 Expect 作为 Tcl 的扩展来使用,或者直接被 C 或 C++ 使用(不需要 Tcl)