.bashrc не выполняется


10

У меня есть пользователь (не root), в котором есть ~/.bashrcфайл с псевдонимами.

Но это не похоже, что файл выполняется во время входа в систему. Если я делаю, source ~/.bashrcон делает то, что должен. Но не ~/.bashrcдолжен выполняться каждый раз, когда я вхожу?

Разрешения установлены на 644 (так же, как мой рут .bashrc, который отлично работает). Файл принадлежит рассматриваемому пользователю.


Это одно из нескольких неудобств, с которыми сталкиваются пользователи ksh при работе с bash. ksh автоматически создает .kshrc в оболочке входа, но bash не создает .bashrc в том же контексте. Вы должны сделать это явно.
Jlliagre

Ответы:


18

~/.bashrcпредназначен для не-логин интерактивных оболочек. Вход в оболочку источника ~/.bash_profile(или ~/.bash_loginили ~/.profile). Sourcing ваш ~/.bashrcтам позволит вам иметь общие настройки.


1
Или источник .bash_profileиз.bashrc , который может иметь смысл , когда вы в первую очередь использовать интерактивные оболочки.
Янмезен

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

Следовательно, « может иметь смысл»: я знаю, что это может выглядеть как задом наперед. :-)
Janmoesen

Можно ли настроить систему redhat на игнорирование .bashrc при запуске неинтерактивных заданий? Я использую кластер, который, кажется, на самом деле использует .bash_profile (мой затем загружает .bashrc). Без .bash_profile задания не могут найти материал, который я добавил в PATH в файле rc
user632657
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.