работает .bashrc против нового входа

7

Я добавил новый псевдоним в .bashrc

Запуск .bashrc не создает этот псевдоним, но новый вход в систему да.

Не могли бы вы объяснить, почему это так, и как я могу проверить, работает ли новый .bashrc, не выполняя тестовый вход?

Radek
источник

Ответы:

10

"Exec Bash" должен сделать это. В основном просто перезапускает оболочку bash, читая в процессе .bashrc

hotei
источник
позвольте мне попробовать это ... так почему выполнение .bashrc не работает?
Radek
2
Когда вы сами запускаете ".bashrc", он запускает новую оболочку bash (читая ваши новые псевдонимы), но сохраняет старую активную. Затем он «ничего не делает», поскольку вы не просили его что-либо делать, и возвращается к старой оболочке, восстанавливая все ваши старые псевдонимы.
hotei
3
Когда вы "exec bash", он заменяет вашу старую оболочку на новую. "Man Exec" для всех деталей, как это работает. Это также полезно, если ваша учетная запись root работает с sh, но вам больше нравится bash (в моем случае cwd in prompt). Вы можете сделать root run bash с помощью "exec bash" от имени root.
hotei
очень хорошее объяснение ...
Radek
8

Вы можете получить исходный файл, используя . или же source:

. ~/.bashrc

или же

source ~/.bashrc

Это перечитает и выполнит строки в файле в текущем сеансе.

Dennis Williamson
источник
хорошо работает ....
Radek