我是初学者,我正在尝试将我的 GitHub 配置文件与我的本地计算机连接。
我正在按照步骤操作,但我的 gitcmd
无法识别eval
. 我已经生成了一个密钥,并尝试将 SSH 密钥添加到ssh-agent
.
这是我收到的消息:
“eval”不被识别为内部或外部命令、可操作程序或批处理文件。
我运行的命令是:
eval "$(ssh-agent -s)"
Run Code Online (Sandbox Code Playgroud)
您在错误的控制台中运行该命令。
打开 Powershell 1、 Git Bash 控制台或 WSL bash - 取决于您安装 Git 的方式 - 因为这只是命令提示符 (cmd.exe),它甚至不支持您正在尝试的语法 (Bash)。
或者,确保ssh-agent
的文件夹位于PATH
环境变量中。然后,您甚至可以从不同的控制台调用它,即命令的一部分。eval $(ssh-agent -s)
然而,该部分的功能与命令提示符控制台不兼容:
-s Generate Bourne shell commands on stdout. This is the default if
SHELL does not look like it's a csh style of shell.
Run Code Online (Sandbox Code Playgroud)
并输出如下内容:
SSH_AUTH_SOCK=/tmp/ssh-jR0WcW41z0yX/agent.1918430; export SSH_AUTH_SOCK;
SSH_AGENT_PID=1918431; export SSH_AGENT_PID;
echo Agent pid 1918431;
Run Code Online (Sandbox Code Playgroud)
这可以通过使用命令提示符的SET
命令来解决,如下所示:
set SSH_AUTH_SOCK=c:\some\path\agent.1918430
set SSH_AGENT_PID=<the number you got>
Run Code Online (Sandbox Code Playgroud)
然后按照该eval $(ssh-agent -s)
指令运行命令。
1 个PowerShell 实例,从原始 GitHub 工具包(还包含 Git Bash)打开时出现,它预加载一些别名或其他功能。eval
其本身可能不存在于干净的 PowerShell 实例中。当不可用时,使用Invoke-Expression
.