本文实现方法是通过Linux中的expect实现,具体实现方法如下:
首先查看系统是否安装了expect,执行命令如下:
[root@iZuf6hxps1f8adqu07rbinZ ~]# whereis expect
expect:[root@iZuf6hxps1f8adqu07rbinZ ~]#
出现如上提示则表示未安装,然后执行如下命令安装expect:
[root@iZuf6hxps1f8adqu07rbinZ ~]# yum install -y expect
然后获取安装后的expect目录,执行命令如下:
[root@iZuf6hxps1f8adqu07rbinZ ~]# whereis expect
expect: /usr/bin/expect /usr/share/man/man1/expect.1.gz
前期工作就算完成了,开始shell脚本,案例如下:
#注解:这里指的下expect的执行目录
#!/usr/bin/expect
#注解:这里指的下监控多久时间内依然会自动输入密码,比如200s
set timeout 200
#注解:spawn 后面指的是要执行的shell脚本或者命令
spawn ./run.sh
#注解:指的是监控输入命令或脚本后将会提示需要输入密码的信息
expect "Password:”
#注解:自动填充密码:mima123并确认
send "mima123\n"
#注解:指的是监控输入命令或脚本后将会提示需要输入密码的信息
expect "vlog@10.114.19.121‘s password’:”
#注解:自动填充密码:vlog1234并确认
send "vlog1234\n"
#注解:结束标签
interact
注:上面示例里用到两个expect,实际中根据自己需要,要自动输入几次就往后面加几个expect/send即可。