Mon .bashrc fichier n'est pas exécuté Git Bash de démarrage (Windows 7)
C'est ce que j'ai fait:
cd ~
touch .bashrc
notepad .bashrc
et le contenu de mon .bashrc est (qui se trouve sur le web quelque part):
SSH_ENV="$HOME/.ssh/environment"
# start the ssh-agent
function start_agent {
echo "Initializing new SSH agent..."
# spawn ssh-agent
ssh-agent | sed 's/^echo/#echo/' > "$SSH_ENV"
echo succeeded
chmod 600 "$SSH_ENV"
. "$SSH_ENV" > /dev/null
ssh-add
}
# test for identities
function test_identities {
# test whether standard identities have been added to the agent already
ssh-add -l | grep "The agent has no identities" > /dev/null
if [ $? -eq 0 ]; then
ssh-add
# $SSH_AUTH_SOCK broken so we start a new proper agent
if [ $? -eq 2 ];then
start_agent
fi
fi
}
# check for running ssh-agent with proper $SSH_AGENT_PID
if [ -n "$SSH_AGENT_PID" ]; then
ps -ef | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null
if [ $? -eq 0 ]; then
test_identities
fi
# if $SSH_AGENT_PID is not properly set, we might be able to load one from
# $SSH_ENV
else
if [ -f "$SSH_ENV" ]; then
. "$SSH_ENV" > /dev/null
fi
ps -ef | grep "$SSH_AGENT_PID" | grep -v grep | grep ssh-agent > /dev/null
if [ $? -eq 0 ]; then
test_identities
else
start_agent
fi
fi
En quelque sorte que le script n'est pas exécuté du tout. Je ne vois pas du tout de ces chaînes qui devrait être l'écho. Je suis familier avec les Unix en ligne de commande sous Linux et Mac OS X, mais je n'ai aucune idée de comment il fonctionne sous Windows. Toutes les suggestions s'il vous plaît?
EDIT: Bon, mon erreur... ce script est exécuté, mais je ne comprends pas tout ce qu'il fait. J'espérais éviter d'être demandé pour la passphrase à chaque fois que je pousse à distance des pensions. Aujourd'hui je me suis toujours demandé à chaque fois.
- Cette
.bashrc
est totalement UNIX seule. Qu'essayez-vous d'atteindre avec de l'avoir dans vos git bash? - Je l'ai mentionné mon raisonnement pour cela à la fin de ma question après j'ai édité ma question. Comment puis-je y parvenir? Je n'ai pas une compréhension complète de la façon dont SSH fonctionne.
Vous devez vous connecter pour publier un commentaire.
Bingo! Quelque chose était évidemment de mal avec la façon dont le ssh-agent est exécuté dans le .bashrc. J'ai copié l'un de ici et il fonctionne un régal! Maintenant je n'ai qu'à entrer mon mot de passe multiterme une fois quand git bash démarre, et les pousser n'en avez plus besoin.
Voici le contenu du script, maintenant:
SSH_ENV="$HOME"/.ssh/environment
Du mécanisme le plus simple sous Windows est l'un d'ici http://anterence.blogspot.co.uk/2012/01/ssh-agent-in-msysgit.html
Modifiée pour afficher les noms de clés autres que les "id_rsa", l' .bashrc fichier ressemble à ceci:
Vous êtes invité à entrer le mot de passe pour chaque clé, à son tour, mais seulement la première fois après une machine de démarrer.
Essayer cela, fonctionne pour moi.