一、简介
1、EXPECT是一个用来实现自动交互功能的软件套件(EXPECT is a software suite for automating interactive tools),用于提供自动交互的工具。
2、在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!!
3、设想一个场景:比如你要用ssh或者 telnet登录服务器的时候,命令行下提示需要输入用户和密码等。如果叫你用shell脚本写自动登录脚本的话是不是有点困难呢? 你会说在shell中执行ssh命令的话,他会一直停在那里等你密码啊,这个要手工来做才行吧?
4、Expect就是为处理这类情况而设计的工具,简单来说它可以控制、处理输入,输出流,然后提供自动填写数据等需要用户交互式输入的数据的地方实现自动化处理。Expect就是为了处理“自动交互”的工具。
Expect 支持自定义的脚本,所以你通过编写自定义脚本就可以实现你想要的自动填写数据功能了。
二.expect的工作流程
expect的工作流程可以理解为,spawn启动进程---->expect期待关键字---->send向进进程发送字符—>退出结束。
三、spawn命令作用
1、spawn命令用来启动新的进程,spawn后的send和expect命令都是和使用spawn打开的进程进行交互。
2、spawn命令是expect的初始命令,它用于启动一个进程,之后所有expect操作都在这个进程中进行,如果没有spawn语句,整个expect就无法执行了,spawn使用方法如下:
spawn ssh root@192.168</

本文详细介绍了 Expect 工具,用于自动化交互任务,例如 SSH 登录。通过 spawn 启动进程,expect 期待关键字,send 发送输入,timeout 设置超时,以及 interact 允许用户交互等功能, Expect 能够实现复杂场景的自动化处理。
最低0.47元/天 解锁文章
2105

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



