为什么eval
语句返回
Illegal variable name
$ eval "$(ssh-agent -s)"
Illegal variable name.
答案 0 :(得分:5)
请尝试$ eval "ssh-agent"
。
答案 1 :(得分:1)
正确的命令是
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
接受它们并使用它们来创建/执行两个命令
- 结果:您有两个环境变量告诉每个进程如何连接到代理。