我正在尝试编写一个脚本,从Git存储库中获取我的软件的最新版本并更新配置文件。然而,在从存储库中拉取时,我必须输入密码。我希望脚本自动化一切,因此需要它自动填写密码。我找到了这个网站,解释了如何使用Expect来查找密码提示并发送密码。但是我无法让它正常工作。
以下是我的脚本:
以下是我的脚本:
#!/usr/bin/expect -f
set password [lrange $argv 0 0]
set timeout -1
clear
echo "Updating Source..."
cd sourcedest
git pull -f origin master
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password aka $password
send -- "$password\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
expect eof
git checkout -f master
cp Config/database.php.bak Config/database.php
cp webroot/index.php.bak webroot/index.php
cp webroot/js/config.js.bak webroot/js/config.js
我做错了什么?
这是我从这个网站上获取的:http://bash.cyberciti.biz/security/expect-ssh-login-script/
.netrc
文件中存储用户名和密码怎么样?可能有多种方法可以避免使用整个“expect”脚本。 - larsks