每次登录都需要输入密码,,好麻烦滴感觉,于是想做个自动登录脚本,岂不美哉^ . ^
如何输入密码是个大问题,好在有个交互输入的工具【expect】
首先需要安装一下,
【Centos】
#查看是否安装过yum list | grep expect#安装sudo yum install expect
【Ubuntu】
#查看是否安装过dpkg -l expec#安装sudo apt-get install expect
交互式登陆
#!/usr/bin/expectspawn mycli -uroot expect "Password:"send "***\r"interact
【#!/usr/bin/expect】一直不知道shell脚本的第一行注释有什么用,以为仅仅是注释,实际上是制定运行程序,即声明用什么程序运行此脚本
【interact】进入交互模式,有这个命令程序会进入交互式命令,就像正常登陆mysql或者linux 系统一样。
如果想登陆后退出可以使用如下代码
后台登陆自动退出登陆代码(ssh通道是保留的)
#!/usr/bin/expectspawn mycli -uroot expect "Password:"send "***\r"expect eofexit
expect eof
exit
这两行命令可以登陆后退出,(后台自动登陆时可以使用此命令)
交互式执行原理基本上是三步走:
运行程序匹配交互信息输入参数当然这只是一个简单的Demo,好玩的还有很多O(∩_∩)O~~
如果觉得《【linux 学习】shell脚本自动化登录》对你有帮助,请点赞、收藏,并留下你的观点哦!