Expect 使用介绍

Expect 详细学习记录转载地址

Expect 插件是作为自动应答机制功能的实现被开发出来的
它的的特点就是利用提示需要输入的关键字判断是否是希望看到的输入标识符,然后在标识符后面输入已经准备好的命令输入进去。

先来一个简单的例子:
程序实现的是远程登录到对应IP端,然后执行特定位置的脚本

#!/usr/expect/bin/expect

set timeout 300
set usrname [lindex $argv 0]
set password [lindex $argv 1]
set ipaddress [lindex $argv 2]
set location [lindex $argv 3]
set testscript [lindex $argv 4]


#set system_sn [lindex $argv 2]

spawn ssh $usrname@$ipaddress
expect "password"
send "$password\r"
expect "~]#"
send "sh $location/$testscript\r"
send "exit\r"
expect eof

spawn命令激活一个Unix程序来进行交互式的运行。 
send命令向进程发送字符串。
expect 命令等待进程的某些字符串。 
expect支持正规表达式并能同时等待多个字符串,并对每一个字符串执行不同的操作.

注意事项:

1.引用expect前需要先进行安装expect
CentOs 下expect安装步骤

2.timeout的值是以秒为单位

3.Send语句之后需要加\r 确认语句输出

4.脚本最后一定要以expect eof 结尾

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值