linux环境中shell脚本中自动输入密码.

本文实现方法是通过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 "[email protected]‘s password’:”
#注解:自动填充密码:vlog1234并确认
send "vlog1234\n"
#注解:结束标签
interact

注:上面示例里用到两个expect,实际中根据自己需要,要自动输入几次就往后面加几个expect/send即可。

你可能感兴趣的:(Linux)