Если я вношу изменения в .bashrc
, как я могу перезагрузить его, не выходя из системы и обратно?
Как перезагрузить .bashrc без выхода из системы и обратно?
Ответ 1
Вам просто нужно ввести команду:
source ~/.bashrc
или вы можете использовать более короткую версию команды:
. ~/.bashrc
Ответ 2
или вы можете использовать;
exec bash
делает то же самое. (и легче запомнить, по крайней мере для меня)
Командаexec заменяет оболочку данной программой, в нашем примере она заменяет нашу оболочку bash (с обновленными файлами конфигурации)
Ответ 3
В добавьте и сравните два самых популярных ответа: . ~/.bashrc
и exec bash
:
Оба решения эффективно перезагружают ~/.bashrc
, но существуют различия:
-
source ~/.bashrc
будет сохранить текущую оболочку:- За исключением изменений, которые перезагружает
~/.bashrc
в текущую оболочку (источник), текущая оболочка и ее состояние сохраняются, которая включает переменные среды, переменные оболочки, параметры оболочки, функции оболочки, и история команд.
- За исключением изменений, которые перезагружает
-
exec bash
или, более надежно,exec "$BASH"
[1], будет заменить текущую оболочку на новый экземпляр, и поэтому сохранит только текущие переменные среды оболочки (включая те, которые вы определили ad-hoc).- Другими словами: любые временные изменения текущей оболочки в терминах переменных оболочки, функций оболочки, параметров оболочки, истории команд теряются.
В зависимости от ваших потребностей может быть предпочтительным один или другой подход.
[1] exec bash
мог теоретически выполнить другой исполняемый файл bash
, чем тот, который запустил текущую оболочку, если она существует в каталоге, указанном ранее в $PATH
. Поскольку специальная переменная $BASH
всегда содержит полный путь к исполняемому файлу, который запустил текущую оболочку, exec "$BASH"
гарантированно использует тот же исполняемый файл.
Примечание re "..."
вокруг $BASH
: двойное кавывание гарантирует, что значение переменной используется как есть, без интерпретации Bash; если значение не имеет встроенных пространств или других метасимволов оболочки (что в данном случае маловероятно), вам не нужны только двойные кавычки, но использование их - хорошая привычка формироваться.
Ответ 4
. .bashrc
...
Ответ 5
В зависимости от вашей среды просто введите
bash
также может работать.
Ответ 6
При этом вы не будете даже вводить "source ~/.bashrc":
Включите файл bashrc:
alias rc="vim ~/.bashrc && source ~/.bashrc"
Каждый раз, когда вы хотите отредактировать свой bashrc, просто запустите псевдоним " rc"
Ответ 7
TL; DR
. ~/.bashrc
TMI
. ~/.bashrc
. это BASH ярлык для встроенной команды "source". - Брайан Шоуолтер
source ~/.bashrc
Alternative
exec bash
source
- это встроенная команда оболочки, которая выполняет содержимое файла, переданного как аргумент, в текущей оболочке.exec
команда заменяет оболочку заданной программой...- - WhoSayIn
Ответ 8
Тип:
source .bashrc
Ответ 9
Я использую следующую команду в msysgit
. ~/.bashrc
более короткая версия
source ~/.bashrc
Ответ 10
Это также сработает.
cd ~
source .bashrc