在公司中登录docker机需要手动输入密码非常麻烦,因此可以用expect编写脚本利用脚本自动登入。

1、安装brew(若已安装可省略)
brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

2、安装expect

brew install expect

3、编写脚本

#expect的安装路径
#!/usr/bin/expect -f
#设置超时时间 
set timeout 3
#私人密码
set password yourpassword
#传递交互指令
spawn ssh root@ip
#根据输出传递数据
expect "password" {send "$password\r"}
#保持在远端  
interact

传递交互数据的还可以通过一下方法

expect "password:"
send "$password\r"

同样还可以通过$argv 参数数组传递

expect test.exp 123456

set password [lindex $argv 0]
expect "password" {send "$password\r\r"}
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐