Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git bash$PATH无法解析带有空格的windows目录_Windows_Git_Path_Git Shell - Fatal编程技术网

git bash$PATH无法解析带有空格的windows目录

git bash$PATH无法解析带有空格的windows目录,windows,git,path,git-shell,Windows,Git,Path,Git Shell,我想在Windows7(32位)机器上使用GitBash附带的github客户端。不知何故,git bash已经从windows系统PATH中学习了$PATH变量。但是,我发现git bash中的$PATH没有正确解析带有空格的win系统路径 例如,$PATH输出: “…/c/Program:没有这样的文件或目录” 有没有办法解决这个问题?用于为git shell构建$PATH的git bash脚本在哪里? 谢谢为什么不使用绝对路径而不是相对路径,如果文件名文件夹包含空格,只需使用“”(引号)

我想在Windows7(32位)机器上使用GitBash附带的github客户端。不知何故,git bash已经从windows系统
PATH
中学习了
$PATH
变量。但是,我发现git bash中的
$PATH
没有正确解析带有空格的win系统路径

例如,
$PATH
输出:

“…/c/Program:没有这样的文件或目录”

有没有办法解决这个问题?用于为git shell构建
$PATH
的git bash脚本在哪里?
谢谢

为什么不使用绝对路径而不是相对路径,如果文件名文件夹包含空格,只需使用“”(引号)

例如,
cdc:/Users/“我的文件夹”
在空格前加一个反斜杠(
\


例如,
cdmydocuments
gitbash
Linux
环境中运行。由于linux无法识别其目录路径中的
\backslash
,因此需要使用
/forwardslash
。如果目录路径包含空格,请使用“

我也遇到类似问题。
经过一番努力,我把它放在我的
C:\ProgramFiles\Git\etc\profile
的第一行:

export HOME="/c/Users/Username\ with\ spaces/"
export HOME=`cygpath-u'\`cygpath-d'$HOMEDRIVE$HOMEPATH'\`'`


并且在bash中键入命令
echo$HOME
将出现
/c/Users/NAMEXX~1
,我的
$HOME
~//code>不再存在空间解析问题

对我来说,答案接近于西格尔的答案82。 我在
[PATH\u TO\u GITBASH\u INSTALL]\etc\profile
的开头添加了以下行:

export HOME="/c/Users/Username\ with\ spaces/"

然后,我启动了一个新的git bash窗口,使用
$HOME
$PATH
中的所有路径都被反斜杠空间替换,并正常工作。

基本上是为了确认什么在工作: 对于环境变量,请使用导出关键字:

export JAVA_HOME="/c/Program Files/Java/jdkxxxxx"
同样适用于路径变量等


您可以将其放在~/.bashrc中。然后,使用变量而不是带空格的直接字符串使用bash declare命令-

$ declare -x PATH="/path with spaces":$PATH

您需要用反斜杠“\”转义非单词字符:

例如:

$ cd Program\ Files\ \(x86\)

这对我不起作用。但是
/c/Users/My\Folder/
做到了。这就是答案!