Печать сценария Bash в командной строке - PullRequest
2 голосов
/ 04 февраля 2012

Я пытаюсь передать свой пароль на мой git push, чтобы сделать быстрый способ добавления, фиксации и отправки, но не могу получить приглашение bash, чтобы нажать и ввести мой пароль. Кто-нибудь знает, как это сделать? Я уверен, что это будет просто ....

#!/bin/bash

PWD='password'
read MSG

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

echo "$PWD" | git push |

Ответы [ 2 ]

2 голосов
/ 04 февраля 2012

Если вы используете git поверх ssh, вы не сможете передать пароль, потому что пароль читается непосредственно с устройства tty, а не stdin (отчасти, чтобы препятствовать выполнению подобных действий!;)).Если вы действительно хотите автоматизировать ввод пароля, попробуйте использовать expect, который может контролировать tty.expect использует TCL, но есть также модули, по крайней мере, для perl и python, если вы более склонны к одному из них.

IMO, лучшим решением будет настройка аутентификации на основе ключей.это проще и безопаснее, чем вы пытаетесь.http://www.debian -administration.org / Articles / 530 содержит некоторую информацию о том, как его настроить.

1 голос
/ 04 февраля 2012

Вы не можете сделать это.

Вместо этого, git push over ssh (который вы, вероятно, уже используете) и настройте ssh для использования аутентификации с открытым ключом. ssh-agent может помочь предоставить ключевую фразу, если вы решите защитить свой закрытый ключ одним из них.

См. Учебники Github для некоторых указаний: http://help.github.com/ssh-key-passphrases/

...