我正在尝试将我的密码推送到我的git push以快速添加,提交和推送,但无法获得bash提示以推送并输入我的密码。有人知道怎么做吗?我确信这很简单......
#!/bin/bash
PWD='password'
read MSG
git add .
git commit -m '"$MSG"'
echo "$PWD" | git push |
答案 0 :(得分:2)
如果您在ssh上使用git
,则无法输入密码,因为密码是直接从tty设备读取的,而不是stdin
(部分是为了阻止做事)像那样! ;))。如果您确实想要自动输入密码,请考虑使用可以控制tty的expect
。 expect
使用TCL,但如果你更倾向于使用其中一个,那么至少还有perl和python的模块。
IMO,更好的解决方案是设置基于密钥的身份验证。它比你正在尝试的更容易,更安全。 http://www.debian-administration.org/articles/530有一些关于如何设置它的信息。
答案 1 :(得分:1)
你不能这样做。
相反,git推送ssh(你可能已经在使用它)并配置ssh以使用公钥认证。如果您选择使用私钥保护私钥,ssh-agent可以帮助提供密码。
请参阅github教程以获取一些指导:http://help.github.com/ssh-key-passphrases/