探索 Expect:自动化交互工具的全面指南
1. Expect 简介
1.1 Expect 的魅力与挑战
Expect 是一款用于自动化交互工具的软件套件,它广受欢迎。其优势在于让人们能更轻松地完成任务,甚至能实现以往不敢尝试的操作。它并非普通语言,而是一种全新工具,能解决过去未被察觉的问题。
然而,随着功能不断增加,它变得愈发复杂。尽管有 25 页的“手册页”,但人们仍不断索取手册中未涵盖的信息,如示例和建议。本书旨在以教程形式详细阐述 Expect 的方方面面,同时也会提及它的局限性。
1.2 为何需要 Expect
起初,作者认为 Expect 不会长久,只是为证明交互自动化通用方法的必要性而做的实验,期望当时流行的 shell 能集成相关功能。但现实并非如此,多数 shell 缺乏对伪终端的访问和内联流模式匹配功能。
此外,像 Emacs 和 Perl 等环境虽有类似功能,但使用不便。相比之下,Expect 简单且专注于自动化交互程序,同时它基于 Tcl,提供了良好的工作环境。
1.3 Tcl 的历史渊源
Tcl 是一种小巧且简单的嵌入式语言,它是 Expect 背后的支撑。Tcl 强大而优雅,在原语与可扩展性、简单性与过度复杂性之间取得了平衡。
作者最初想编写类似 Expect 的程序,但苦于没有合适的可扩展控制语言。1990 年,在华盛顿特区的 Winter USENIX 会议上,作者了解到 John Ousterhout 设计的 Tcl 语言,它正好满足需求。下载 Tcl 八天后,作者就有了一个原始但可用的 Expect。
超级会员免费看
订阅专栏 解锁全文
1340

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



