eval 在 Windows 上无法识别

Posted

技术标签:

【中文标题】eval 在 Windows 上无法识别【英文标题】:eval is not recognised on Windows 【发布时间】:2021-11-13 15:48:38 【问题描述】:

我是初学者,我正在尝试将我的 GitHub 个人资料与我的本地计算机连接。

我正在执行这些步骤,但我的 git cmd 无法识别 eval。 我已经生成了一个密钥,并正在尝试将一个 SSH 密钥添加到 ssh-agent

这是我收到的消息:

'eval' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

我运行的命令是:

eval "$(ssh-agent -s)"

【问题讨论】:

显示你正在运行的确切命令。 eval "$(ssh-agent -s)" 【参考方案1】:

您在错误的控制台中运行命令。

打开 Powershell、Git Bash 控制台或 WSL bash - 取决于您安装 Git 的方式 - 因为这只是命令提示符 (cmd.exe),它甚至不支持您正在尝试的语法 (Bash)。

或者,确保ssh-agent 的文件夹位于PATH environment variable 中。然后,您甚至可以从不同的控制台调用它,即eval $(<b><i>ssh-agent -s</i></b>) 命令的一部分。

该部分的功能仍然与命令提示符控制台不兼容:

     -s      Generate Bourne shell commands on stdout.  This is the default if
             SHELL does not look like it's a csh style of shell.

并输出如下内容:

SH_AUTH_SOCK=/tmp/ssh-jR0WcW41z0yX/agent.1918430; export SSH_AUTH_SOCK;
SSH_AGENT_PID=1918431; export SSH_AGENT_PID;
echo Agent pid 1918431;

这可以通过像这样使用Command Prompt's SET command 来解决:

set SH_AUTH_SOCK=c:\some\path\agent.1918430
set SSH_AGENT_PID=<the number you got>

然后运行 ​​eval $(ssh-agent -s) 指令之后的命令。

【讨论】:

非常感谢。我很感激你帮助了我。 欢迎。就在将来提供指向您正在关注的页面的链接并添加更多描述或分隔文本以使其更具可读性。那么这个问题不应该得到很多反对意见,或者根本就不应该。 好的,非常感谢您的建议。

以上是关于eval 在 Windows 上无法识别的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 10 上无法识别 Conda 命令

为啥在 Windows 上无法识别节点版本管理器 (NVM)?

在 Windows 机器上运行 Postgresql 11 时导致“更多无法识别...”错误的原因是啥?

ADB 在 Windows 7 下无法识别 Nexus 4

Windows Servis 应用无法识别 RDP 会话上的智能卡

windows 10 中用mklink 无法识别