Git Windows 不知道 %USERPROFILE%

Git for Windows doesn't know %USERPROFILE%

我遇到了与 相同的问题,并尝试执行相同的步骤。但是我的 Git Bash(2.5.0,64 位 Windows 7,64 位)不知道我的 %USERPROFILE%

pitgrap@xxx MINGW64 /
$ pwd
/

pitgrap@xxx MINGW64 /
$ cd ~
bash: cd: /%USERPROFILE%: No such file or directory

如果我 运行 Git Bash 作为管理员,它会起作用。 :( 但我不想每次都以管理员身份 运行 它。有什么想法吗?

新的 Git-for-Windows 正在使用 %HOME% 环境变量。它在我的机器上设置为 HOME=%USERPROFILE%。您不能在此处使用其他变量。删除它或将其更改为真实路径。

另见 https://github.com/git-for-windows/git/issues/313

这与每种不同语言如何处理变量扩展

有关

cmdC:\> echo %USERPROFILE%
bash: $ echo $USERPROFILE
psPS> echo $env:USERPROFILE

在windows cmd 提示符中,变量应在两边% 包围
而 Bash 和 PowerShell 通过前缀 $ 来指示变量。

Git Bash ,而 powershell 试图通过将它们包含在 $env object[=27= 下来限制污染全局命名空间]

如果要确认shell可以访问环境变量,可以列出所有变量:

cmd (docs)C:\> SET
bash (docs): $ printenv
(docs)PS> Get-ChildItem env:

你的语法有误。如果在 Windows 上使用 Git bash,则需要写 $USERPROFILE 而不是 %USERPROFILE%

marius@MYPC MINGW64 ~
$ echo %USERPROFILE%
%USERPROFILE%

marius@MYPC MINGW64 ~
$ echo $USERPROFILE
C:\Users\marius