【问题标题】:Bash script print to a programs promptBash 脚本打印到程序提示符
【发布时间】:2012-02-03 22:15:47
【问题描述】:

我正在尝试将我的密码推送到我的 git push 以快速添加、提交和推送,但无法让 bash 提示推送并输入我的密码。有人知道该怎么做吗?我敢肯定它一定很简单......

#!/bin/bash

PWD='password'
read MSG

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

echo "$PWD" | git push |

【问题讨论】:

标签: git bash shell echo


【解决方案1】:

如果您在 ssh 上使用 git,则无法输入密码,因为密码是直接从 tty 设备读取的,而不是 stdin(部分原因是为了阻止这样做!; ))。如果您真的想自动输入密码,请考虑使用可以控制 tty 的expect。 expect 使用 TCL,但如果您更倾向于使用其中之一,那么至少还有用于 perl 和 python 的模块。

IMO,更好的解决方案是设置基于密钥的身份验证。它比您尝试的更容易和更安全。 http://www.debian-administration.org/articles/530 有一些关于如何设置的信息。

【讨论】:

  • 谢谢,我想这样做的原因是自动化我的整个推拉添加等过程。我会研究一下 @sehe 和 ssh 密钥,谢谢大家
【解决方案2】:

你不能这样做。

相反,git push over ssh(您可能已经在使用)并将 ssh 配置为使用公钥身份验证。如果您选择用一个来保护您的私钥,ssh-agent 可以帮助提供密码。

请参阅 github 教程以获得一些指导:http://help.github.com/ssh-key-passphrases/

【讨论】:

    猜你喜欢
    • 2011-05-10
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多