Вопрос: Как перезагрузить .bashrc без выхода из системы и обратно?


Если я вношу изменения в .bashrc, как я могу перезагрузить его, не выходя из системы и обратно?


1184


источник


Ответы:


Вам просто нужно ввести команду:

source ~/.bashrc

или вы можете использовать более короткую версию команды:

. ~/.bashrc

1914



или вы можете использовать;

exec bash

делает то же самое. (и легче запомнить, по крайней мере для меня)

Exec команда заменяет оболочку данной программой, в нашем примере она заменяет нашу оболочку bash (с обновленными файлами конфигурации)


188



к дополнение и контрастность два самых популярных ответа, . ~/.bashrcа также exec bash:

Оба решения фактически перезагружать ~/.bashrc, но есть различия:

  • source ~/.bashrcбудем сохранять текущая оболочка :

    • За исключением модификаций, которые перезагружаются ~/.bashrcв текущую оболочку ( источников ) делает, текущая оболочка и ее состояние находятся сохраняется , который включает переменные среды, переменные оболочки, параметры оболочки, функции оболочки и историю команд.
  • exec bash, или, более надежно, exec "$BASH"[1] , будем замещать текущая оболочка с новым экземпляром и, следовательно, сохраните только текущую оболочку переменные среды


62



Кто-то отредактировал мой ответ, чтобы добавить неправильный английский, но вот оригинал, который уступает принятому ответу.

. .bashrc

43



В зависимости от вашей среды просто введите текст

bash

также может работать.


15



With this, you won't even have to type "source ~/.bashrc":

Include your bashrc file:

alias rc="vim ~/.bashrc && source ~/.bashrc"

Every time you want to edit your bashrc, just run the alias "rc"


12



TL;DR

. ~/.bashrc

TMI

. ~/.bashrc

. is a BASH shortcut for the "source" builtin command. – Brian Showalter

source ~/.bashrc

Alternative

exec bash
  • source is a built-in shell command that executes the content of the file passed as argument, in the current shell.
  • exec command replaces the shell with a given program...
  • – WhoSayIn

6



type:

source .bashrc

3



i use the following command on msysgit

. ~/.bashrc

shorter version of

source ~/.bashrc

2



This will also work..

cd ~
source .bashrc

1



I noticed that pure exec bash command will preserve the environment variables, so you need to use exec -c bash to run bash in an empty environment.

For example, you login a bash, and export A=1, if you exec bash, the A == 1.

If you exec -cl bash, A is empty.

I think this is the best way to do your job.


0