7

如何在 bash 脚本中使用 git fetch/pull 提供密码。我真的需要在 bash 脚本中执行此操作,而不使用 ssh-add 或类似的东西。可能吗?

4

1 回答 1

7

我尝试使用 SSH_ASKPASS 的 ssh-agent 和解决方案,但没有任何效果,然后我使用http://expect.sourceforge.net/找到了解决方案

示例(在 shell 中执行):

pass="passwod"
/usr/bin/expect <<EOD
spawn git fetch origin $BRANCH
expect "Enter passphrase for key '/home/$USERNAME/.ssh/id_rsa': "
send "$pass\r"
expect eof
EOD
于 2015-12-09T02:06:30.540 回答