探索自动化交互编程:Expect 与 Tcl 的强大组合
1. Expect 简介
1.1 为何需要 Expect
Expect 是用于自动化交互工具的软件套件,它既受欢迎又带来了一些困扰。受欢迎是因为它让人们能更轻松地完成任务,甚至能完成以前不敢尝试的事情,它是一种全新类型的工具,解决了过去未被视为问题的难题。然而,随着功能的增加,它变得更加复杂,人们不断询问相关问题。虽然 Expect 有“手册页”,但很多请求的信息并不适合放在那里,本书就是为了详细介绍这些内容而编写的。
一些流行的 shell(如 Korn shell、Z shell)虽提供了协进程,但无法访问伪终端,也没有内联流模式匹配功能,大多数 shell 甚至连协进程都没有。此外,像 Emacs 和 Perl 等环境虽有类似 Expect 的功能,但使用起来较为困难,因此 Expect 对 shell 程序员来说仍然非常重要。
1.2 Expect 的起源
最初,Expect 被视为一个简单的实验项目,用于展示处理交互自动化的通用方法的必要性。作者期望当时流行的 shell 能很快集成这些功能,从而无需使用额外的工具。但事与愿违,Expect 逐渐发展起来。
在开发 Expect 的过程中,作者最初考虑借用 shell 并集成 Expect 原语,但由于 shell 的复杂性和维护难度,这个想法被放弃。直到 1990 年,作者在华盛顿特区的 USE NIX 会议上了解到 John Ousterhout 设计的 Tcl 语言,它是一种专为嵌入应用程序而设计的小型简单语言。作者在下载 Tcl 八天后就开发出了一个原始版本的 Expect,包含了 sen
超级会员免费看
订阅专栏 解锁全文
1479

被折叠的 条评论
为什么被折叠?



