Обновить env-переменные после редактирования файла bashrc


59

Я часто редактировал .bashrcфайл для экспорта новых переменных среды.

Вместо того, чтобы закрыть консоль и запустить новую для обновления переменных env, есть ли удобный способ обновления?

Ответы:


78

В том же окне вы можете просто напечатать, bashчтобы начать новое. Это эквивалентно закрытию окна и повторному открытию нового.

Кроме того, вы можете ввести source ~/.bashrcисточник .bashrcфайла.


7
Нет необходимости выполнять другую оболочку. sourceэто правильный путь
Маттео

2
также нет необходимости вводить длинные слова source. вы можете просто ввести точку вместо него: . ~/.bashrc.
Раш

4
@Rush типизация sourceпоказывает пользователю, какая команда вызывается. Я не верю в показ сокращенных команд новым пользователям, пока они не поймут, что делает код.
n0pe

10
обратите внимание, что простой поиск bashrc не обязательно равен перезапуску bash. определенные переменные не являются автоматически неопределенными. параметры оболочки не сбрасываются автоматически. sourcing bashrc выполняет только то, что написано в bashrc. он не отменяет никаких других изменений в среде. запуск нового сеанса bash внутри старого также не обязательно равен перезапуску bash, поскольку новый процесс наследует среду от старого.
Lesmana

2
@MaxMackie Учитывая то source, что bashism длиннее для ввода, но не предлагает никаких преимуществ по сравнению с его переносимым во всех эквивалентных оболочках ., я не вижу смысла поощрять кого-либо, нового или опытного, использовать его.
jw013


3

В дополнение к тому, что предложили другие, я обнаружил, что sourceэто не отменяет ранее назначенные переменные среды. Итак, если вы хотите сбросить переменные окружения, вы должны сделать это вручную.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.