Expect基本用法与介绍

比如连接SSH、FTP远程连接等,正常情况下都需要手工与之交互,而使用Expect就可以模拟手工交互的过程,实现自动与远端程序的交互,从而达到自动化运维的目的
Expect的自动交互工作流程简要说明:
spawn启功指定进程——>expect获取期待的关键字——>send向指定进程发送指定字符——>进程执行完毕,退出结束。


在spawn命令后,直接加上要执行的命令或程序(例如ssh命令)等,除此之外,sqawn还支持如下一些选项.
-open:表示启动文件进程
-ignore:表示忽略某些信号

expect命令的作用就是获取spawn命令执行后的信息,看看是否和其事先指定的相匹配,一旦匹配上指定的内容就执行expect后面的动作
-re:表示使用正则表达式的方法来匹配
#如果匹配到了指定的password字符串,则会执行紧跟其后包含在{}(大括号)中的send或exp_send动作,匹配的动作也可以放在下一行,这样就不需要使用{}(大括号)了。
expect命令可以在一个expect匹配中多次匹配不同的字符串,并给出不同的处理动作,此时只需要将匹配的所有字符串放在一个{}(大括号)中就可以了,当然还要借助exp_continue指令实现继续匹配。



例子:
#!/usr/bin/expect
#第一种:
#spawn ssh root@10.0.0.51 uptime
#expect "*password"
#send "123456\n"
#expect eof

#第二种:
spawn ssh root@10.0.0.51 uptime
expect {
    "yes/no"    {exp_send "yes\r";exp_continue}
    "*password" {exp_send &
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值