EXPECT--脚本免交互大法

EXPECT–脚本免交互大法

我们在用Shell脚本去执行一些操作时,有时会出现一些人机交互过程,如用脚本去实现ssh远程登录时,可能会出现需要交互的过程。图1.1 这时人们就会想如果有一种方法让计算机自动“回答”人类的回复,那么脚本就可以实现全自动化免交互。所以就有了expect命令,expect命令需要额外的安装,否则无法使用免交互过程。
图1.1
在这里插入图片描述
在这里插入图片描述

一、EXPECT使用方法

  1. Expect脚本必须以**#!/usr/bin/expect为开头,因为需要从/usr/bin/expect路径下读取命令。或者在脚本中插入Expect脚本就需要/usr/bin/expect<<-EOF**开头。图1.2
    图1.2
    在这里插入图片描述

  2. 首先有spawn进行命令的抓取,并进行信息的跟踪与交互。图1.3
    图1.3
    在这里插入图片描述

  3. 接着由expect进行判断输出的结果里是否含有指定的字符串,如果有那么就立即返回。图1.4
    图1.4
    在这里插入图片描述

  4. 由于上一步匹配到指定的命令提示,那么send就会发送已经指定好的字符串,用于用户的模拟输入。这里需要注意的一点是:需要在命令后面加入**\r作为回车键。如果一个命令有多个交互在执行完一个交互后还要继续执行下一个交互那么就要在前一个命令后面输入“;exp_continue**”。图1.5
    图1.5
    在这里插入图片描述

  5. 在执行完所有的命令后需要将控制权交给控制台那么需要在最后输入interact

二、总结

expect在脚本中使用是非常简单的,简化了在执行脚本时会出现的人机交互的过程。方便了用户实现了全自动化运维的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值