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


7

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

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

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

Ответы:


10

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


позвольте мне попробовать это ... так почему выполнение .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

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


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