【发布时间】:2014-12-19 20:44:36
【问题描述】:
为什么eval语句会返回
Illegal variable name
$ eval "$(ssh-agent -s)"
Illegal variable name.
【问题讨论】:
标签: ssh eval ssh-keygen
为什么eval语句会返回
Illegal variable name
$ eval "$(ssh-agent -s)"
Illegal variable name.
【问题讨论】:
标签: ssh eval ssh-keygen
正确的命令是
eval $(ssh-agent)
(没有引号!)
后台:ssh-agent向stdout发送两行代码
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 使用它们并使用它们来创建/执行两个命令
- 结果:你有两个环境变量告诉每个进程如何连接到代理。
【讨论】:
改用$ eval "ssh-agent"。
【讨论】: