本文介绍: exp_continue附加于某个expect 判断选项之后,可以是该项被匹配后还能继续匹配expect 判断语句内的其他项。—— 是建立在 tcl(tool command language语言基础上的一个工具,常被用于进行自动化控制测试解决 shell 脚本交互的相关问题判断上次输出结果是否包含指定字符串,如果有则立即返回,否则就等待超时时间返回expect 默认超时时间是10秒,通过set 命令可以设置会话超时时间,若不限制超时时间则应设置为-1。表示回显命令echo相同。

目录

expect

要先安装 expect

制作免交互脚本

基本命令


expect

—— 是建立在 tcl(tool command language)语言基础上的一个工具,常被用于进行自动化控制测试解决 shell 脚本交互的相关问题

要先安装 expect

rpm -q expect
​
rpm -q tcl
​
yum install -y expect
制作交互脚本
#!/usr/bin/expect
spawn ssh 192.168.88.30
​
expect {
#捕捉关键字
   "yes/no" { send "yesn";exp_continue }
#捕捉到第一个关键字 yes/no 如果有 yes/no 那么就发送 yes加回车  exp_continue继续捕捉
   "password" { send "123456n" }
#捕捉到第二个关键字,就发送密码和回车
}
#expec eof
#捕捉结束,但是会返回原来的终端
interact

基本命令

1.脚本解释器

expect 脚本中首先引入文件,表明使用的事哪一种shell

#!/usr/bin/expect

2.spawn

spawn 后面通常跟一个Linux执行命令,表示开启一个会话进程,并跟踪后续交互信息

后面加 命令

3.expect

判断上次输出结果中是否包含指定的字符串,如果有则立即返回,否则就等待超时时间返回;只能捕捉有swpan启动进程输出

用于接受命令执行后的输出然后期望字符串匹配

4.send

进程发送字符串用于模拟用户输入:该命令不能自动回车换行,一般要加 r (回车) 或者 n

5.结束符

expect eof

表示交互结束,等待执行结束,退回到原用户,与spawn对应

6.set

expect 默认超时时间是10秒,通过set 命令可以设置会话超时时间,若不限制超时时间则应设置为-1

7.exp_continue

exp_continue 表示允许 expect 继续向下执行指令.

exp_continue附加于某个expect 判断选项之后,可以是该项被匹配后还能继续匹配expect 判断语句内的其他项。exp_continue类似于控制语句的continue语句。表示允许expect继续向下执行命令。

8.send_user

表示回显命令与echo相同
 

原文地址:https://blog.csdn.net/WXALY/article/details/134701291

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_9467.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注