【问题标题】:ssh eval "$(ssh-agent -s) returns Illegal variable namessh eval "$(ssh-agent -s) 返回非法变量名
【发布时间】:2014-12-19 20:44:36
【问题描述】:

为什么eval语句会返回

Illegal variable name

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

【问题讨论】:

    标签: ssh eval ssh-keygen


    【解决方案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 使用它们并使用它们来创建/执行两个命令
    - 结果:你有两个环境变量告诉每个进程如何连接到代理。

    【讨论】:

    • 这也给出了“非法变量名”。对我来说
    【解决方案2】:

    改用$ eval "ssh-agent"

    【讨论】:

      猜你喜欢
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      相关资源
      最近更新 更多