- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Expect 教程中文版
创建时间:2001-04-29 文章属性:转载
文章来源:中国科大 BBS 站
文章提交:quack (quack_at_) [版权声明]
Copyright(c) 1999
本教程由*葫芦娃*翻译,并做了适当的修改,可以自由的用于非商业目的。但 Redistribution 时必须拷贝本[版权声明]。
[BUG]
有不少部分,翻译的时候不能作到“信,达”。当然了,任何时候都没有做到“雅”,希望各位谅解。
[原著]
Don Libes: National Institute of Standards and Technology libes@
[目录]
摘要
关键字
简介4.Expect 综述5.callback
passwd 和一致性检查
rogue 和伪终端
8.ftp 9.fsck
10.多进程控制:作业控制11.交互式使用 Expect 12.交互式 Expect 编程13.非交互式程序的控制14.Expect 的速度
15.安全方面的考虑16.Expect 资源17.参考书籍
1.[摘要]
现代的 Shell 对程序提供了最小限度的控制(开始,停止,等等),而把交互的特性留给了用户。 这意味着有些程序,你不能非交互的运行,比如说 passwd。 有一些程序可以非交互的运行,但在很大程度上丧失了灵活性,比如说 fsck。这表明 Unix 的工具构造逻辑开始出现问题。Expect 恰恰填补了其中的一些裂痕,解决了在 Unix 环境中长期存在着的一些问题。
Expect 使用 Tcl 作为语言核心。不仅如此,不管程序是交互和还是非交互的, Expect 都能运用。这是一个小语言和 Unix 的其他工具配合起来产生强大功能的经典例子。
本部分教程并不是有关 Expect 的实现,而是关于 Expect 语言本身的使用,这主要也是通过不同的脚本描述例子来体现。其中的几个例子还例证了 Expect 的几个新特征。
2.[关键字]
Expect,交互,POSIX,程序化的对话,Shell,Tcl,Unix; 3.[简介]
一个叫做 fsck 的 Unix 文件系统检查程序,可以从 Shell 里面用-y 或者-n 选项来执行。 在手册[1]
里面,-y 选项的定义是象这样的。
“对于 fsck 的所有问题都假定一个“yes”响应;在这样使用的时候,必须特别的小心,因为它实际上允许程序无条件的继续运行,即使是遇到了一些非常严重的错误”
相比之下,-n 选项就安全的多,但它实际上几乎一点用都没有。这种接口非常的糟糕,但是却有许多的程序都是这种风格。 文件传输程序 ftp 有一个选项可以禁止交互式的提问,以便能从一个脚本里面运行。但一旦发生了错误,它没有提供的处理措施。
Expect 是一个控制交互式程序的工具。他解决了 fsck 的问题,用非交互的方式实现了所有交互式的功能。Expect 不是特别为 fsck 设计的,它也能进行类似 ftp 的出错处理。
fsck 和 ftp 的问题向我们展示了象 sh,csh 和别的一些 shell 提供的用户接口的局限性。 Shell 没有提供从一个程序读和象一个程序写的功能。这意味着 shell 可以运行 fsck 但只能以牺牲一部分 fsck 的灵活性做代价。有一些程序根本就不能被执行。比如说,如果没有一个用户接口交互式的提供输入,就没法运行下去。其他还有象 Telnet,crypt,su,rlogin 等程序无法在 shell 脚本里面自动执行。还有很多其他的应用程序在设计是也是要求用户输入的。
Expect 被设计成专门针和交互式程序的交互。一个 Expect 程序员可以写一个脚本来描述程序和用户的对话。接着 Expect 程序可以非交互的运行“交互式”的程序。写交互式程序的脚本和写非交互式程序的脚本一样简单。Expect 还可以用于对对话的一部分进行自动化,因为程序的控制可以在键盘和脚本之间进行切换。
bes[2]里面有详细的描述。简单的说,脚本是用一种解释性语言写的。(也有 C 和 C++的 Expect 库可供使
用,但这超出了本文的范围).Expect 提供了创建交互式进程和读写它们的输入和输出的命令。 Expect 是由于它的一个同名的命令而命名的。
Expect 语言是基于 Tcl 的。Tcl 实际上是一个子程序库,这些子程序库可以嵌入到程序里从而提供语言服务。 最终的语言有点象一个典型的 Shell 语言。里面有给变量赋值的 set 命令,控制程序执行的if,for,continue 等命令,还能进行普通的数学和字符串操作。当然了,还可以用 exec 来调用 Unix 程序。所有这些功能,Tcl 都有。Tcl 在参考书籍 Outerhour[3]
您可能关注的文档
- dell服务器错误代码.docx
- DELL服务器硬件错误代码.docx
- deltav控制系统基本功能组态步骤.docx
- DesigningwithNiosIIEercisesforDE2Board分析和总结分析和总结.docx
- DIMINE数字采矿软件功能和服务说明.docx
- discours direct et indirect分析和总结分析和总结.docx
- Discours M Jacques CHIRAC sur la prevention du Sida分析和总结分析和总结.docx
- DIY手工艺术品调查问卷.docx
- DM512控制台简单使用说明.docx
- DOS808A中文实验室便携式溶解氧仪内容.docx
最近下载
- 一种料理机机座.pdf VIP
- Mg-Al-M合金中Al-M相(M=Sr,Nd)析出行为的热力学分析.pdf VIP
- 220kV变电站消防工程 投标方案(技术方案).docx
- 中国计量大学《光学原理》2021-2022学年第二学期期末试卷及答案A卷.pdf VIP
- CJJ61-2017 城市地下管线探测技术规程.docx VIP
- CJJT-269-2017-城市综合地下管线信息系统技术规范.pdf VIP
- 1_1_2021年第四季度护理安全管理.pptx VIP
- 培训机构教务年度工作总结.pptx VIP
- T_CSGPC 027-2024 地下市政基础设施 综合管理信息平台建设技术规范.docx VIP
- 子宫内膜息肉(宫腔镜子宫病损切除术)临床路径【2020版】(1).pdf VIP
原创力文档


文档评论(0)