shell脚本中实现自动输入密码---expect安装使用

时间:2022-11-23 15:14:40

expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send),由于linux系统默认不安装此工具,所以使用前先进行安装。

1.安装 expect

yum install expect

2.实现自动输入密码例子

#!/usr/bin/expect
spawn mysql_config_editor set -G lp-mysql56-39-3306 -S /var/lib/mysql/mysql.sock -uroot -p
expect "Enter password:"
send "123456\r"
interact

说明:

#!/usr/bin/expect  表示使用expect的shell交互模式
spawn 表示在expect下执行shell脚本
expect 对通过spawn执行的shell脚本的返回进行判断,是否包含""中的字段
send 如果expect监测到了包含的字符串,将输入send中的内容,\r 相当于回车
interact 退出expect返回终端,可以继续输入,否则将一直在expect不能退出到终端