【linux 学习】shell脚本自动化登录

每次登录都需要输入密码,,好麻烦滴感觉,于是想做个自动登录脚本,岂不美哉^ . ^


如何输入密码是个大问题,好在有个交互输入的工具【expect】

首先需要安装一下,
【Centos】

	#查看是否安装过
yum list | grep expect
	#安装
sudo yum install expect

【Ubuntu】

#查看是否安装过
dpkg -l expec
#安装
sudo apt-get install expect

交互式登陆

#!/usr/bin/expect
spawn mycli -uroot 
expect "Password:"
send "***\r"
interact

【#!/usr/bin/expect】一直不知道shell脚本的第一行注释有什么用,以为仅仅是注释,实际上是制定运行程序,即声明用什么程序运行此脚本
【interact】进入交互模式,有这个命令程序会进入交互式命令,就像正常登陆mysql或者linux 系统一样。

如果想登陆后退出可以使用如下代码

后台登陆自动退出登陆代码(ssh通道是保留的)

#!/usr/bin/expect
spawn mycli -uroot 
expect "Password:"
send "***\r"
expect eof
exit

expect eof
exit
这两行命令可以登陆后退出,(后台自动登陆时可以使用此命令)


交互式执行原理基本上是三步走:

  1. 运行程序
  2. 匹配交互信息
  3. 输入参数

当然这只是一个简单的Demo,好玩的还有很多O(∩_∩)O~~

你可能感兴趣的:(linux学习)