expect
expect是一种能够按照脚本内容里面设定的方式与交互式程序进行“会话”的程序。根据脚本内容,Expect可以知道程序会提示或反馈什么内容以及什么是正确的应答。它是一种可以提供“分支和嵌套结构”来引导程序流程的解释型脚本语言。
Why expect?
shell功能很强大,但是不能实现有交互功能的多机器之前的操作,例如ssh和ftp.而expect可以帮助我们来实现。
常用关键字 | 含义 |
---|---|
spawn | expect中的监控程序,其运行后会监控命令提出的交互问题 |
send | 发送问题答案给交互命令 |
“\r” | 表示回车 |
exp_continue | 当问题不存在时,继续回答下面的问题 |
expect eof | 表示当问题回答完毕,退出expect环境 |
interact | 表示当问题回答完毕时,留在交互界面 |
set NAME [ lindex $argv n ] | 定义变量 |
首先,expect是一个软件,我们需要安装它。
yum install expect -y
解决问题
- Q:使用expect解决ssh连接
- A:
效果:
- Q:ip为前5的主机是不是开启的,开启的话显示主机名?
- A:
- Q:ssh远程登录到服务器,并且执行命令,执行完后并退出
- A:
效果: