Установите переменную среды в git bash

Когда я пробиваю из командной строки Windows gitbash:

set $HOME = c

и делай :

echo $HOME

Он не устанавливает его на c? Как я могу изменить/установить значение переменной среды?


person bier hier    schedule 09.12.2015    source источник


Ответы (3)


Обычная переменная устанавливается простым присвоением ей значения; обратите внимание, что вокруг = не допускаются пробелы:

HOME=c

Переменная среды — это обычная переменная, помеченная для экспорта в среду.

export HOME
HOME=c

Вы можете комбинировать присваивание с оператором export.

export HOME=c
person chepner    schedule 09.12.2015
comment
Так что же делает ОП set? - person adamdport; 16.04.2018
comment
Предполагая нормальное значение $HOME (такое, что расширение без кавычек приводит к одному слову), он устанавливает первые три позиционных параметра в значения $HOME, = и c соответственно. Например, set a b c; echo "$2" выведет b. - person chepner; 16.04.2018
comment
Также верно для bash в целом. - person charles ross; 12.08.2020

Если вы хотите постоянно устанавливать переменные среды в Git-Bash, у вас есть два варианта:

  1. Установите обычную переменную среды Windows. Git-bash получает все существующие переменные среды Windows при запуске.

  2. Настройте переменные env в файле .bash_profile.

.bash_profile по умолчанию находится в домашней папке пользователя, например C:\users\userName\git-home\.bash_profile. Вы можете изменить путь к домашней папке bash, установив HOME переменную среды Windows.

.bash_profile использует обычный синтаксис и команды Bash

# Export a variable in .bash_profile
export DIR=c:\dir
# Nix path style works too
export DIR=/c/dir

# And don't forget to add quotes if a variable contains whitespaces
export ANOTHER_DIR="c:\some dir"

Прочтите дополнительную информацию о файлах конфигурации Bash.

person Alexandr    schedule 14.07.2016
comment
Возможно, вы не ответили на вопрос ОП, но вы, безусловно, помогли мне с моим вопросом. Я пытался переопределить переменную среды PERL5LIB для Git Bash в Windows, и это позволило мне легко это сделать. - person BebopSong; 18.11.2016
comment
Возможно, вы захотите отредактировать #1, указав, что это та же команда, что и в оболочке Windows, но с другим синтаксисом (setx foo bar против setx foo=bar). Я неправильно понял, что вы сказали этим ответом, поскольку вы не упомянули setx. - person Yodle; 18.07.2019
comment
По какой-то причине Git Bash игнорирует переменную среды HOME моей Windows. Это означает, что он использует не мой gitconfig, а свой собственный внутри Git/etc. - person Unknow0059; 09.01.2021

Создание файла .bashrc в вашем домашнем каталоге также работает. Таким образом, вам не нужно копировать свой .bash_profile каждый раз, когда вы устанавливаете новую версию git bash.

person kyleus    schedule 04.12.2018