Ubuntu自动登录脚本
- 一、!/usr/bin/expect -f的意义
- 二、spawn命令行:
- 三、send命令:
- 四、expect
- 五、interact命令:
本人用xshell的SSH登录云服务器,需要从用户Ubuntu切换到root,再切换到lighthouse。编辑了一个自动切换用户的脚本。
vim新建脚本文件 autologin.sh,输入以下代码:
#!/usr/bin/expect -f
set user lighthouse
set password 123456
set timeout 5
spawn su
expect "*assword:*"
send "$password\r"
expect "*#*"
spawn su lighthouse
expect "*assword:*"
send "$password\r"
expect "*$*"
send "cd\r"
interact
然后设置autologin.sh的可执行权限。
sudo chmod 776 autologin.sh
./autologin.sh
结果如下:
一、!/usr/bin/expect -f的意义
参考资料:/usr/bin/expect介绍
如果在usr/bin中没有expect的话,用apt安装。
$ sudo apt-get install expect
二、spawn命令行:
参考资料:linux spawn命令
三、send命令:
发送相应的命令到控制台。
四、expect
接收控制台信息,判断是否满足条件。
五、interact命令:
执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行