Когда я использую Git Bash (в Windows), я не могу запустить исполняемый файл, не указав его полный путь, хотя он находится в папке, которая находится в моей переменной PATH. Похоже, bash его не распознает. Зачем? Могу я это исправить?
107
Ответы:
Понял. Как пользователь Windows, я привык вводить имена исполняемых файлов без расширений. В моем случае я хотел запустить файл с именем
cup.bat
. В оболочке Windows набора текстаcup
будет достаточно. Bash так не работает, ему нужно полное имя. Набор текстаcup.bat
решил проблему. (Мне не удалось запустить файл, поскольку, очевидно, bash не мог понять его содержимое)Еще одна причина перейти на posh-git ..
Спасибо @Tom за то, что указал мне правильное направление.
источник
alias cup=cup.bat
.bat
; расширение подразумевает пакетный сценарий Windows, особенно на машине Windows.Возможно, bash не видит ваш путь к Windows. Введите
env|grep PATH
bash, чтобы подтвердить, какой путь он видит.источник
После комментария @ Daniel и благодаря ответу @ Tom я обнаружил, что Git bash действительно использует PATH, но не последние пути, которые я недавно установил. Чтобы обойти эту проблему, я добавил в свой домашний каталог (Windows) файл с именем:
.bashrc
и следующее содержание:
PATH=$PATH:/c/Go/bin
потому что я устанавливал Go, и этот путь содержал исполняемый файл.
go.exe
Теперь Git bash смог распознать команду:go
Возможно, в моем случае было бы достаточно просто перезагрузки системы, но я рад, что это решение работает в любом случае.
источник
PATH=$PATH:/c/Go/bin:/c/other/path
c:/Users/[myusername]/
это мой домашний каталогВо время установки Git вы можете выбрать опцию, показанную ниже, это поможет вам установить путь автоматически.
У меня получилось :)
источник
Создайте файл в C: \ Users \ USERNAME с именем config.bashrc, содержащий:
Теперь переместите файл в командной строке в правильное место:
источник
Старый вопрос, но он может помочь кому-то другому.
Я изменил свой пользовательский PATH, после этого я просто вышел из системы и снова зашел в систему.
Это все!
git bash
правильно загрузил новое значение PATH.источник
export PATH=$NEW_PATH:$PATH
. И делать все нормальноПерезагрузите компьютер после добавления нового значения в PATH.
источник
Я могу подтвердить, что перезапуск системы гарантирует, что PATH, установленный в переменной среды в Windows, будет выбран git, и другого автоматического способа нет.
источник
Похоже, основная причина здесь в том, что Git Bash не всегда может правильно анализировать переменную% USERPROFILE%. Вместо того, чтобы делать его относительно C: \ Users \\, он получает значение C: \ Windows \ System 32 \ systemprofile \ После изменения этого адреса на полностью квалифицированный адрес он работает, и даже если я верну его позже, Git Bash все равно по какой-то причине имеет правильный путь.
источник
В Windows 10 просто удалите git и установите его снова. Он автоматически установит для вас переменную среды. Я по ошибке удалил переменную окружения и не смог использовать git в своей IDE. Переустановка git устранила эту проблему.
источник
В случае , если ваш
git-bash
«ыPATH
подарки , но не последнее , и вы не хотите перезагрузки , но регенерировать своиPATH
с, вы можете попробовать закрыть всеcmd.exe
,powershell.exe
иgit-bash.exe
и открыть одно окно cmd.exe из меню Пуск или на рабочем столе и посмотреть , еслиPATH
окр обновляется . Если вы изменили общесистемные настройки,PATH
вам также необходимо открыть одно привилегированное окно cmd.Примечание: это не работает со всеми версиями Windows, и открывать в
cmd.exe
любом месте, кроме меню «Пуск» или рабочего стола, может не работать , проверено на моих 3 компьютерах, и 2 из них работают. Я не понял, почему это работает, но посколькуPATH
переменная среды генерируется автоматически при входе в систему и выходе из системы, я бы не испортил эту переменную конкатенацией переменных.источник
Для меня наиболее удобным было: 1) Создать каталог «bin» в корне диска C: 2) Добавить «C: / bin;» в ПУТЬ в "Мой компьютер -> Свойства -> Переменные Environemtal"
источник
Я сталкиваюсь с этой проблемой, когда пытаюсь использовать mingw для компиляции библиотеки xgboost в Win10. Наконец я нашел решение.
Создайте файл с именем .bashrc в своем домашнем каталоге (обычно это C: \ Users \ username). Затем добавьте к нему путь. Не забудьте использовать кавычки, если ваш путь содержит пустой, и не забудьте использовать / c / вместо C: /
Например:
ПУТЬ = $ ПУТЬ: "/ c / Program Files / mingw-w64 / x86_64-7.2.0-posix-seh-rt_v5-rev1 / mingw64 / bin"
источник
Я столкнулся с глупой ошибкой с моей стороны. У меня был системный и пользовательский путь, установленный для моей рабочей области golang на моем компьютере с Windows 10. Когда я удалил избыточный путь к системным переменным и вышел из системы и снова включился, я смог вызвать файлы .exe в bash и успешно вызвать go env.
Хотя на OP был дан ответ, это еще одна проблема, которая может помешать bash видеть ваши пути. Я только что снова протестировал bash с этой проблемой, и, похоже, это дает какой-то конфликт, который блокирует bash от следования по любому из путей.
источник
Я знаю, что это старый вопрос, но есть два типа переменных среды. Тот, который принадлежит пользователю, и один для всей системы. В зависимости от того, как вы открываете git bash (с правами пользователя или с правами администратора), используемая переменная среды PATH может быть из ваших пользовательских переменных или из системных переменных. Увидеть ниже:
как сказано в предыдущем ответе, проверьте с помощью команды,
env|grep PATH
какую из них вы используете, и соответствующим образом обновите свою переменную. Кстати, перезагружать систему не нужно. Просто закройте и снова откройте git bashисточник
В моем случае это произошло при установке heroku cli и git bash. Вот что я сделал для работы.
добрался до этого места
C:\Users\<username here>\AppData\Local
и удалите файл в моем случае папку heroku. Поэтому я удалил папку и запустил cmd. Это работает
источник
Не избегайте специальных символов (\) при редактировании / добавлении в вашу переменную $ PATH. Например, каталог приложения в программных файлах будет выглядеть так:
PATH=$PATH:/c/Program Files (x86)/random/application
Не делайте этого:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/
Надеюсь это поможет.
источник
PATH=$PATH:/c/Program Files (x86)/random/application
... это неправильный синтаксис bash для установки PATH. Это временно добавит каталог/c/Program
к пути, а затем попытается запустить программуFiles
с аргументами(x86)/random/application
. Единственное, что не так с вашим примером «не делайте этого», это то, что он имеет двойные обратные косые черты для скобок, когда одинарные обратные косые черты верны.Для тех из вас, кто пробовал все вышеупомянутые методы, включая систему Windows env. переменные, .bashrc, .bashprofile и т. д. И могу увидеть правильный путь в 'echo $ PATH' ... Возможно, у меня есть решение для вас.
подавить ошибки, используя exec 2> / dev / null
Мой скрипт работает нормально, но выдает ошибки «команда не найдена» или «каталог не найден», хотя, насколько я могу судить, пути были пустыми. Итак, если вы подавите эти ошибки (возможно, придется добавить «set + e»), то все будет работать правильно.
источник
Создайте пользовательскую переменную с именем Path и добавьте в качестве значения% Path%, из того, что я заметил, Git Bash видит только пользовательские переменные, а не системные переменные. Выполнив указанную процедуру, вы предоставите свою системную переменную в пользовательских переменных.
источник
В переменных среды пути Windows 7 я просто добавляю в конец пути к системной переменной
\; C: \ Program Files \ Git \ bin
и теперь это работает!
источник