Bash脚本打印到程序提示符

时间:2012-02-03 22:15:47

标签: git bash shell echo

我正在尝试将我的密码推送到我的git push以快速添加,提交和推送,但无法获得bash提示以推送并输入我的密码。有人知道怎么做吗?我确信这很简单......

#!/bin/bash

PWD='password'
read MSG

git add .
git commit -m '"$MSG"'

echo "$PWD" | git push |

2 个答案:

答案 0 :(得分:2)

如果您在ssh上使用git,则无法输入密码,因为密码是直接从tty设备读取的,而不是stdin(部分是为了阻止做事)像那样! ;))。如果您确实想要自动输入密码,请考虑使用可以控制tty的expectexpect使用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/