不确定这是否是一个重复的问题,但我真的找不到解决问题的方法。
问题是我无法运行以下命令。
#!/bin/bash
SCRIPT1="cd /path/to/project;"
SCRIPT2="git pull;"
ssh "production" ${SCRIPT1} "ssh-agent /bin/bash; ssh-add ~/.ssh/my_bitbucket_key;" ${SCRIPT2}
仍然是bash和ssh的新手,所以我不确定这是否是正确的做法。
希望你能帮助我。谢谢!答案 0 :(得分:2)
您的脚本存在的问题是您正在ssh-agent
开始运行bash
的新实例。执行命令的Bash无权访问此代理。相反,你想要
ssh "production" "${SCRIPT1}
eval \$(ssh-agent)
ssh-add ~/.ssh/my_bitbucket_key
${SCRIPT2}"
(eval
之后的美元符号必须被转义,因为在启动ssh
命令之前,未转义的美元符号将由本地shell评估。)