需求
如果没有配置ssh key到git 服务器,每次执行git命令与远程交互时,都需要手动输入用户与密码
比如:
git pull
会有如下输入要求:
Username for ‘http://git.xxxx.cn:9958’:
Password for ‘xxx’:
实现原理
可以写个shell脚本自动填充,使用expect,它能实现自动交互
首先先安装expect
apt-get install expect
代码
假设用户名为myname, 密码为mypassword
创建脚本auto_cmd.sh
#!/bin/bash
name=myname
pass=mypassword
/usr/bin/expect << EOF
set timeout 30
spawn $@
expect {
"Username for*" { send "$name\r"; exp_continue }
"Password for*" { send "$pass\r" }
}
expect eof
EOF
使用方法
./auto_cmd.sh git pull
作者:帅得不敢出门