Expect 工具的强大功能与广泛应用
1. Expect 简介与基本触发机制
在某些操作中,按下加号键可以触发特定的自动化处理流程。若将控制权交还给脚本,自动化处理会从上次中断的位置继续进行。像 fsck 这样的系统管理工具,如果没有 Expect 的支持,只能以非常有限的功能进行非交互式运行,且几乎无法进行编程操作,但它却是系统管理中至关重要的工具。实际上,众多工具存在用户界面不足的问题,正是这些问题促使了 Expect 的最初开发。
2. interact 命令的应用
2.1 部分自动化程序
interact 命令可用于部分自动化任何程序。它还常用于编写脚本,通过多个主机或前端进行 telnet 操作,并自动处理遇到的协议。当脚本运行到你想手动接管的阶段,你可以随时进行操作。例如,你可以通过这种方式浏览远程图书馆目录,使用 Expect 脚本能让多个不同的图书馆系统看起来像是相互连接的,而非彼此孤立。
2.2 提供复杂宏功能
interact 命令还能提供任意复杂的宏。如果你经常需要输入长名称,可以创建一个简短的字符序列来替代。以下是一个简单的示例:
interact {
"y2" {send "set def qwk/term=vt100 yhoriz=200"}
"~~d" {send [exec date]}
}
在这个示例中,当输入“y2”时,会发送字符串“set def qwk/term=vt100 yhoriz = 200”;当按下“~~d”时,会发送当前日期。这
超级会员免费看
订阅专栏 解锁全文
170万+

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



