我想在 Windows 7(32 位)机器上使用带有 github 客户端的 git-bash。不知何故, git-bash 已经$PATH
从 windows 系统中学习了变量PATH
。但是,我发现$PATH
在 git-bash 中没有正确解析带有空格的 win 系统 PATH。
例如$PATH
输出:
“..../c/Program: 没有这样的文件或目录”
有没有办法修复它?构建$PATH
for git shell 的 git-bash 脚本在哪里?谢谢
为什么不使用绝对path
而不是相对path
,如果文件名文件夹包含空格,只需使用""
(引号)。
前任。cd C:/Users/"My Folder"
\
在空格前放置一个反斜杠 (" ")。
前任。cd My\ Documents
我有类似的问题。
经过一番挣扎,我把它放在我的第一行C:\Program Files\Git\etc\profile
:
导出 HOME=`cygpath -u "\`cygpath -d "$HOMEDRIVE$HOMEPATH"\`"`
然后在 bash 中输入命令echo $HOME
就会出来,我的or/c/Users/NAMEXX~1
没有更多的空间解析问题!$HOME
~/
基本上确认什么是有效的:对于环境变量,使用 export 关键字:
export JAVA_HOME="/c/Program Files/Java/jdkxxxxx"
PATH 变量等相同。
你可以把它放在你的 ~/.bashrc 中。然后,使用变量而不是带空格的直接字符串
git-bash
在Linux
环境中运行。由于 linux 无法识别\ backslash
其目录路径,因此您需要使用/ forwardslash
. ""
如果您的目录路径包含空格,请使用。
使用 bash 声明命令 -
$ declare -x PATH="/path with spaces":$PATH
您需要使用反斜杠“\”转义非单词字符:
例如:
$ cd Program\ Files\ \(x86\)
我的答案与 Seagal82 的答案很接近。我在开头添加了以下行[PATH_TO_GITBASH_INSTALL]\etc\profile
:
export HOME="/c/Users/Username\ with\ spaces/"
然后我启动了一个新的 git bash 窗口,$PATH
使用中的所有路径都$HOME
替换为反斜线空间并正常工作。
不要那样做,你可以试试这个,而不是在""
(引号)中传递完整的路径。例子$ cd "C:\Users\folder\OneDrive - folder\file"