expect免交互脚本编程
admin
2023-03-05 14:23:39
0

一、大纲

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
向进程发送字符串,用于模拟用户的输入
该命令不能自动回车换行,一般要加\r(回车)
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执行方式:

直接执行
expect免交互脚本编程

五、案例

远程登录
expect免交互脚本编程

嵌入执行
expect免交互脚本编程

登录远程控制后自动退出
expect免交互脚本编程
TIP
这里解释一下“<<”的用法:
​ 当shell看到“<<”的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。
“EOF”与“-EOF”两种分界符的不同:
​ “EOF”没有容错率,一旦结尾的分界符存在空格或者制表符,就会导致脚本报错。
​ “-EOF”有一定的容错率,结尾的分界符可以允许存在制表符,空格不行

创建用户tom,密码tom123
第一种方法:
expect免交互脚本编程
第二种方法:
expect免交互脚本编程![]

SSH远程登录代码健壮版
expect免交互脚本编程

相关内容

热门资讯

终于懂了“欢聚水鱼虎步龙行.究... 网上科普关于“欢聚水鱼虎步龙行有没有挂”话题很是火热,小编也是针对欢聚水鱼虎步龙行作*弊开挂的方法以...
今日重大发现“天天九州麻将.有... 网上科普关于“天天九州麻将有没有挂”话题很是火热,小编也是针对天天九州麻将作*弊开挂的方法以及开挂对...
年终好物清单:这台255g的旗... 在“大屏即正义”的数码潮流里,我们似乎习惯了为了更大的显示面积而牺牲手腕的舒适度。但当我们冷静下来审...
【第一资讯】“宁波游戏大厅.有... 有 亲,根据资深记者爆料宁波游戏大厅是可以开挂的,确实有挂(咨询软件无需...
终于懂了“快乐打筒子.到底有挂... 家人们!今天小编来为大家解答快乐打筒子透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
【今日要闻】“国民麻将.开挂器... 网上科普关于“国民麻将有没有挂”话题很是火热,小编也是针对国民麻将作*弊开挂的方法以及开挂对应的知识...
重磅消息“飞鹰互娱.到底有挂吗... 您好:飞鹰互娱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
今日重大发现“功夫熊猫炸金花.... 今日重大发现“功夫熊猫炸金花.怎么装挂?”外卦神器下载您好,功夫熊猫炸金花这个游戏其实有挂的,确实是...
玩家攻略科普“上海敲麻.可以开... 网上科普关于“上海敲麻有没有挂”话题很是火热,小编也是针对上海敲麻作*弊开挂的方法以及开挂对应的知识...
今日重大发现“乐驿茶坊.到底是... 有 亲,根据资深记者爆料乐驿茶坊是可以开挂的,确实有挂(咨询软件无需打开...