expect 免交互脚本

目录

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 "yes\n";exp_continue }
#捕捉到第一个关键字 yes/no 如果有 yes/no 那么就发送 yes加回车  exp_continue继续捕捉
   "password" { send "123456\n" }
#捕捉到第二个关键字,就发送密码和回车
}
#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相同
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值