8.16. Expect-5.45.4

Expect 软件包包含通过脚本控制的对话,自动化 telnetftppasswdfsckrlogin,以及 tip 等交互应用的工具。Expect 对于测试这类程序也很有用,它简化了这类通过其他方式很难完成的工作。DejaGnu 框架是使用 Expect 编写的。

估计构建时间: 0.2 SBU
需要硬盘空间: 3.9 MB

8.16.1. 安装 Expect

准备编译 Expect:

./configure --prefix=/usr           \
            --with-tcl=/usr/lib     \
            --enable-shared         \
            --mandir=/usr/share/man \
            --with-tclinclude=/usr/include

配置选项的含义:

--with-tcl=/usr/lib

需要使用该选项告知 configure 配置脚本 tclConfig.sh 的位置。

--with-tclinclude=/usr/include

该选项显式指定查找 Tcl 内部头文件的位置。

构建该软件包:

make
[重要]

重要

我们认为,本节中 Expect 的测试套件是关键的。无论如何都不要跳过测试过程。

运行命令以测试编译结果:

make test

如果有测试失败并输出 The system has no more ptys. Ask your system administrator to create more, 这说明您没有正确挂载 devpts 文件系统。您需要退出 chroot 环境,再次阅读第 7.3 节 “准备虚拟内核文件系统”,并确认 devpts 文件系统 (以及其他虚拟内核文件系统) 已被正确挂载。之后按照第 7.4 节 “进入 Chroot 环境”重新进入 chroot 环境。在继续构建之前,必须解决这一问题。

安装该软件包:

make install
ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib

8.16.2. Expect 的内容

安装的程序: expect
安装的库: libexpect5.45.4.so

简要描述

expect

根据一个脚本与其他交互程序交流

libexpect-5.45.4.so

包含一些函数,使得 Expect 可以作为 Tcl 扩展使用,也可以直接在 C 或 C++ 中使用 (不使用 Tcl)