Expect免交互
一、expect 概述: (1)expect 是建立在 tcl 基础上的一个工具,expect是用来进行自动化控制和测试的工具,主要解决shell脚本中不可交互的问题。对于大规模的linux运维很有帮助 (2)在linux 运维和开发中,我们经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会需要输入yes/no password等信息。为了模拟这种输入,可以使用expect脚本。 (3)安装 yum install expect -y 二、基本命令: (1)send:向进程发送字符串,用于模拟用户的输入(该命令不能自动回车换行,一般要加 \r (回车)) (2)expect :判断上次输出结果里是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回,只能捕捉由 spawn 启动的进程的输出。 (3)sapwn :启动进程,并跟踪后续交互信息 。 (4)interact :执行完成后保持交互状态,把控制权交给控制台。 (5)timeout : 指定超时时间,过期则继续执行后续指令。 单位为:秒 timeout -1 为永不超时 默认情况下,是10秒 (6)exp_continue :允许expect 继续向下执行指令 (7)send _user :相当于echo (8)$argv 参数数组: expect脚本可以接受从bash传递的参数,可以使用