centos7下expect安装使用说明

2018年08月05日 4294点热度 1人点赞 0条评论

0、说明

  因为之前使用ssh做代理服务器,又使用了autossh来检测ssh连接状态,使得连接断开自动重连。但是经过一段时间测试使用,发现代理服务器经常不能使用。发现autossh自动重连的时候需要手动输入下密码。这样就失去了自动重连了意义,连接断开时等于没有自动恢复。

  网上查发现可以使用expect来为autossh自动输入命名,经过一段时间研究测试成功解决以上遇到的问题。这里记录下。

1、安装expect

rpm包下载地址: 密码: i4ec 经测试在centos 7.4 x64上使用正常



2、测试脚本及说明


set timeout :定义timeout的时间为-1(永不超时),也可以输入正常数值例如100(如果脚本命令都执行正常情况下,等待多少秒后退出脚本)
spawn :后面跟具体要执行的命令
expect :定义字符内容用于匹配上面spawn后面执行命令的返回内容
send :如果spawn后面运行命令的返回内容,匹配expect上面定义的。就发送send定义的内容到上面(相当于输入了密码)。
; exp_continue :处于expect代码段内,表示重新回到expect开始出执行命令。这样就会一直循环下去,当autossh断开重连的时候会重新提示输入密码,expect匹配到后会自动输入密码。



Chen

健康 · 开心 · 做自己

文章评论