ssh eval" $(ssh-agent -s)返回非法变量名

时间:2014-10-24 02:43:26

标签: ssh eval ssh-keygen

为什么eval语句返回

  

Illegal variable name

$ eval "$(ssh-agent -s)"
Illegal variable name.

2 个答案:

答案 0 :(得分:5)

请尝试$ eval "ssh-agent"

答案 1 :(得分:1)

正确的命令是

eval $(ssh-agent)

(没有引号!)

背景:ssh-agentstdout

发送两行代码
SSH_AUTH_SOCK=/tmp/ssh-xxxxxxxxx/agent.nnnn; export SSH_AUTH_SOCK;
SSH_AGENT_PID=22414; export SSH_AGENT_PID;

其中/tmp/ssh-xxxxxxxx/agent.nnnn是用作连接代理的套接字的文件,第二行包含代理进程的PID。

$(command)包含这两行,eval接受它们并使用它们来创建/执行两个命令
  - 结果:您有两个环境变量告诉每个进程如何连接到代理。