#windows #git #path #git-shell
#Windows #git #путь #git-shell
Вопрос:
Я хотел бы использовать git-bash, поставляемый с клиентом github, на компьютере с Windows 7 (32-разрядный). Каким-то образом git-bash уже изучил $PATH
переменные из системы Windows PATH
. Однако я обнаружил, что $PATH
в git-bash неправильно проанализирован системный ПУТЬ win с пробелом.
например, $PATH
выводит:
«…./ c /Program: нет такого файла или каталога»
Есть ли способ это исправить? где находится скрипт git-bash для создания $PATH
оболочки для git? Спасибо
Ответ №1:
Почему бы не использовать абсолютный path
вместо относительного path
, и если папка с именем файла содержит пробел, просто используйте ""
(кавычки).
Пример. cd C:/Users/"My Folder"
Комментарии:
1. У меня это не сработало. Но
/c/Users/My Folder/
сделал.
Ответ №2:
Поставьте обратную косую черту («
«) перед пробелом.
пример. cd My Documents
Ответ №3:
У меня аналогичная проблема.
После некоторой борьбы я поместил это в первую строку в моем C:Program FilesGitetcprofile
:
export HOME=`cygpath -u «`cygpath -d «$HOMEDRIVE $HOMEPATH»`»`
и команда типа echo $HOME
в bash выйдет /c/Users/NAMEXX~1
, больше никаких проблем с разбором пробела для моего $HOME
или ~/
!
Ответ №4:
Ответ для меня был близок к ответу Seagal82. Я добавил следующую строку в начале [PATH_TO_GITBASH_INSTALL]etcprofile
:
export HOME="/c/Users/Username with spaces/"
Затем я запустил новое окно git bash, и все пути в $PATH
using $HOME
были заменены пробелом с защитой от сокращения и работают корректно.
Ответ №5:
git-bash
выполняется в Linux
среде. Поскольку linux не распознает backslash
путь к своему каталогу, вам нужно использовать / forwardslash
. Используйте ""
, если ваш путь к каталогу содержит пробелы.
Ответ №6:
В основном, чтобы подтвердить, что работает: для переменных среды используйте ключевое слово export:
export JAVA_HOME="/c/Program Files/Java/jdkxxxxx"
то же самое для переменной PATH и т.д.
Вы можете поместить его в свой ~/.bashrc . Тогда используйте переменные вместо прямой строки с пробелами
Ответ №7:
Используйте команду bash declare —
$ declare -x PATH="/path with spaces":$PATH
Ответ №8:
Вам нужно экранировать символы, не являющиеся словом, обратной косой чертой «»:
Например:
$ cd Program Files (x86)
Ответ №9:
Не делайте этого, вы можете попробовать это вместо того, чтобы передать полный путь в ""
(кавычки). Пример $ cd "C:UsersfolderOneDrive - folderfile"
Ответ №10:
Я пришел к пониманию, особенно если в «настройке» оболочки ОС Windows Git Bash
, возможность использовать «короткие имена», т. Е. информацию об имени папки, которую вы получаете при запуске dir /X
в каталоге, а затем использовать это, например, для Program Files
этого было бы PROGRA~1
(который больше не содержит пробелов). Затем используйте это короткое имя в путях или аналогичных определениях в .bashrc
(или похожих) файлах.
В качестве дополнительной информации [здесь] Program Files (x86)
короткое имя будет PROGRA~2
Недавно я обнаружил, что это наиболее стабильное решение для экспорта переменной в Git Bash
‘s .bash_profile