git-bash $PATH cannot parse windows directory with space

混江龙づ霸主 提交于 2019-11-27 06:34:58

问题


I would like to use git-bash come with github client on a windows 7 (32bit) machine. Somehow, the git-bash has already learned the $PATH variables from windows system PATH. However, I found the $PATH in git-bash did not parse the win system PATH with space correctly.

for example the $PATH outputs:

"..../c/Program: No such file or directory"

Is there anyway to fix it? where is the git-bash script to construct the $PATH for git shell? Thanks


回答1:


Why not using absolute path instead of relative path and if a folder of file name contains a space just use "" (quotes).

Ex. cd C:/Users/"My Folder"




回答2:


Put a backslash ("\") before the space.

ex. cd My\ Documents




回答3:


I am having similar problem.
After some struggle, i put this on the first line in my C:\Program Files\Git\etc\profile:

export HOME=`cygpath -u "\`cygpath -d "$HOMEDRIVE$HOMEPATH"\`"`

and type command echo $HOME in bash will come out /c/Users/NAMEXX~1, no more space parsing problem for my $HOME or ~/ !




回答4:


git-bash runs in a Linux environment. As, linux doesn't recognize \ backslash in its directory path, you need to use / forwardslash. Use "" if you directory path contains spaces.




回答5:


The answer for me was close to that of Seagal82. I added the following line at the start of [PATH_TO_GITBASH_INSTALL]\etc\profile:

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

Then I started a new git bash window and all the paths in $PATH using $HOME got replaced with the anti-slashed space and work correctly.




回答6:


Basically to confirm what is working: For environment variables use export keyword:

export JAVA_HOME="/c/Program Files/Java/jdkxxxxx"

same for PATH variable etc.

You can put it in your ~/.bashrc . Then, use variables instead of direct string with spaces



来源:https://stackoverflow.com/questions/24557224/git-bash-path-cannot-parse-windows-directory-with-space

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!