Expect 在网络管理中发挥着重要作用
2008-11-13 08:29:20 来源:WEB开发网在我自己的代码中,我实际上从这个“样本”中提出了更多的内容。现在,passmass 第 100 行附近的这一连串测试,非常好地说明了 Expect 的可读性。这里并没有涉及到很深的编程技术,不需要面向对象、单体应用程序、协同例程,或者其他巧妙的技术。您只是请求计算机负责您通常进行的输入工作。恰好,这个简单的操作步骤可以节省大量时间和精力。
什么是 Expect?
Expect 究竟是 什么,您应该如何使用它呢?
“Expect”涉及到一些独特的概念,许多经常使用 Expect 的用户对这些概念并不是十分清楚:
Expect 是一种特定的、高级的和通用的编程语言,其语法与 Tcl 相同,并增加了 Tcl 中所没有的一些特殊用途的命令。
Expect 是一种可执行程序,从它正确地处理用 Expect 语言编写的输入的角度来看,它实现了这种语言。
expect 命令是其中的一个命令,Expect 以此对 Tcl 进行了扩展。
Expect 是一个 Tcl 包。一般说来,这意味着任何 Tcl 应用程序都可以在运行时加载 Expect 功能。
Expect 是一个基于 C 源代码的库,而这些 C 源代码则深入到 Expect 可加载的包和 Expect 可执行程序。
Expect 是某种工具的抽象概念,该工具:
实现终端交互的自动化,甚至在涉及到密码或者其他特殊项目的情况下
实现了一种“对话”模型,通过它对消息和响应的简单规律进行编码
在这种抽象中,不存在特定于 Tcl 的内容,实际上,现在有几种使用其他语言(如 Python、Perl,等等)的 Expect 模型的独立实现。尽管本文中的示例都采用基于 Tcl 的 Expect 进行表述,但是可以使用其他语言来编写所有这些示例。没有理由因为您熟悉或者不熟悉 Tcl,而限制您对 Expect 的使用。
更多精彩
赞助商链接