У меня есть следующий скрипт bash, чтобы запустить ssh-agent, добавить мои ключи и выполнить git pull on repo. Агент запускается, ключ добавляется, но git pull не выполняется ... по крайней мере, ничего не происходит на терминале. Команда git работает, если я ввожу ее в терминал ... есть ли что-то, что мне нужно сделать в моем сценарии bash, чтобы заставить его работать?Как выполнить команды git из сценария bash?
#!/bin/bash
# if we can't find an agent, start one, and restart the script.
if [ -z "$SSH_AUTH_SOCK" ] ; then
exec ssh-agent bash -c "ssh-add ; $0"
exit
fi
exec ssh-add ~/.ssh/mykey
git --git-dir=/var/www/node/myapp/.git pull origin master
Когда я добавляю -х до #!/Bin/баш это терминальный вывод
+ '[' -z '' ']'
+ exec ssh-agent bash -c 'ssh-add ; ./startgit.sh'
+ '[' -z /tmp/ssh-<redacted>/agent.1733 ']'
+ exec ssh-add /home/ec2-user/.ssh/mykey
Identity added: /home/ec2-user/.ssh/mykey (/home/ec2-user/.ssh/mykey)
Вы уверены, что вы перезапуск сценария после выхода, если 'SSH_AUTH_SOCK' пуст? Вы попробовали «отладить» его ('#!/Bin/bash -x', чтобы эхо запускать команды)? –