expect是自动交互程序,可以方便的在shell脚本中自动输入mysql的帐号密码。
shell脚本如何自动输入mysql帐号密码
在deepin linux下默认已安装此程序,首先要获取expect安装程序的路径,可以通过which命令来获取。如果没有安装请自行安装。
shell脚本如何自动输入mysql帐号密码
接下来就是建立一个脚本文件,这里命名为t.sh,然后用vim打开t.sh,在里面编写如下图所示的代码。代码说明如下:
第一句:#!/usr/bin/expect就是在上面获取的expect的安装路径,expect类似于一个shell,所以脚本的第一行指明通过expect来运行下面的指令。
第二句:设置延时为30秒。
第三句:spawn是expect的语句,执行命令前都要加这句
第四句:是发送的mysql root帐号的密码666666,注意后面的\r即回车。
第五句:interact代表执行完留在远程控制台
shell脚本如何自动输入mysql帐号密码
编写完成后,执行vim的wq命令退出保存t.sh。
shell脚本如何自动输入mysql帐号密码
然后执行如下命令给t.sh加上可执行权限。
sudo chmod 755 ./t.sh
shell脚本如何自动输入mysql帐号密码
然后执行t.sh就可以看到mysql自动输入帐号密码登录了。
shell脚本如何自动输入mysql帐号密码
除了上面介绍的使用expect命令外,用户也可以切换到root用户下,在root用户的家目录,建立一个.my.cnf的文件,让mysql本身实现免密码登录,这样在shell脚本中只需要执行mysql命令即可自动登录了,具体可以参考之前发布的经验。