2017-05-26 28 views

回答

8

你必须引用变量在你第一次命令:

echo "$SSH_PRIVATE_KEY" | ssh-add - 
    ^----------------^ 

或指定-如在第二命令的文件名:

printf '%s\n' "$SSH_PRIVATE_KEY" | ssh-add - 
             -----^ 
+1

也许你的意思是“和”,而不是“或”? (毕竟,后者并不能替代前者)。 –

+0

是的,正确的答案应该是'echo“$ SSH_PRIVATE_KEY”||。 ssh-add -' – henryJack

+3

我觉得'|'在这个上下文中(bash oneliner)是一个管道,而不是逻辑AND或OR。 该解决方案存在不同的问题。 ssh-add会打开一个对话框并询问密码并等待输入。我已经看到了使用expect的解决方案。 –