pexpect oracle,expect免交互脚本编程

一、大纲

1.Expect概述

2.Expect安装(底层语言Tcl)

3.Expect基本命令

4.Expect执行方式

5.Expect案例

一、Expect概述

1.Expect是建立在tcl语言基础上的一个工具,Expect是用来进行自动化控制和测试的工具。主要解决shell脚本中不可交互的问题。对于大规模的linux运维很有帮助。

2.在linux运维和开发中,我们经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会余姚输入yes/no password等信息。为了模拟这种输入,可以使用Expect脚本。

二、Expect安装

1.挂载光盘

2.制作本地YUM源

执行安装命令:yum -y intall expect

三、基本命令

1.send

向进程发送字符串,用于模拟用户的输入

该命令不能自动回车换行,一般要加(回车)

2.expect

expect的一个内部命令判断上次输出结果里是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回

只能捕捉由spawn启动的进程的输出

3.spawn

启动进程,并跟踪后续交互信息

4.interact

执行完成后保持交互状态,把控制权交给控制台

5.Timeout

指定超时时间,过期则继续执行expect脚本后续指令

单位是:秒

timeout -1为永不超时

默认情况下,timeout是10秒

6.exp_continue

允许expect继续向下执行指令

7.send_user

回显命令,相当于echo

8.$argv参数数组

Expect脚本可以接受从bash传递的参数,可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个....参数

TIP

Expect脚本必须以interact或expect ecof结束,执行自动化任务通常expect eof就够了

expect eof实在等待结束标志。由spawn启动的命令在结束时会产生一个eof标记,expect eof即在等待这个标记

四、Expect执行方式:

直接执行

149dea3b08d318fc4b1489404032a633.png

五、案例

远程登录

4dcb968c36c3a8d71926a7fd56773ba2.png

嵌入执行

3403a4bcd05d0e0d72cf4785d45e4bac.png

登录远程控制后自动退出

dcc4665c83539a24d16dc19ed33f74b5.png

EOF容错只能容制表符TAB,但是空格不行

创建用户tom,密码tom123

6606631bc650eb06445312cdce7892ba.png![]

SSH远程登录代码健壮版

b20b4c8de25be6a0fa79fcd1dc0652d5.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值