Git for Windows不知道%USERPROFILE%

时间:2015-08-25 12:05:43

标签: windows git bash windows-7

我遇到了与Git for Windows doesn't execute my .bashrc file相同的问题,并试图采取相同的步骤。但是我的Git Bash(2.5.0,62位,Windows 7,64位)不知道我的%USERPROFILE%

pitgrap@xxx MINGW64 /
$ pwd
/

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

如果我将Git Bash作为Administror运行,它就可以运行。 :( 但是我不希望每次都以管理员的身份运行它。有什么想法吗?

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

这与每种不同语言如何处理可变扩展有关。

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

在Windows cmd提示符下,变量的两边都应用%包围
而Bash和PowerShell用前缀$表示变量。

Git Bash gets all existing Windows environment variables at startup,而powershell试图通过将全局名称空间包含在$env对象下来限制对全局名称空间的污染

Shell Comparison

如果要确认外壳程序有权访问环境变量,可以列出所有变量

cmd docsC:\> SET
bash docs$ printenv
ps docsPS> Get-ChildItem env:

答案 2 :(得分:0)

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

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

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