Я просто хочу убедиться, что одна и та же вещь загружается для каждой происходящей оболочки.
Если вы действительно этого хотите, поместите все ~/.profile
и добавьте source ~/.profile
в конце своего ~/.bashrc
. Если это желательно, это другой вопрос. Для источника ~/.profile
в ~/.bashrc
очень обычное дело в любом случае.
+ ------------ + ----------------- + ------------------ - + | | логин оболочки | интерактивные оболочки | + ------------ + ----------------- + ------------------ - | | все | / etc / profile | | | бурниш | ---------------- + -------------------- | | ракушки | ~ / .profile | | + ------------ + ----------------- + ------------------ - | | просто | ~ / .bash-профиль | /etc/bash.bashrc | | | ------------------------------------- | | Баш | ~ / .bash-login | ~ / .bashrc | + ------------ + ----------------- + ------------------ - +
Оболочка C и производные оболочки используют другой набор файлов (.login, .cshrc, ..).
Что именно должно быть в каждом из них, чтобы создать одинаковую среду для каждой оболочки?
Если вы имеете в виду окружение в смысле переменных окружения, просто установите все из них в ~ / .profile, и все в порядке. Если вы имеете в виду среду в более широком смысле, это зависит.
Проблема здесь в том, что нежелательно иметь одинаковую среду для интерактивных оболочек и оболочек входа в систему. Примером могут служить псевдонимы: возможно, вам нужны псевдонимы в вашей интерактивной оболочке, но очень вероятно, что они заставят ваши скрипты делать странные вещи. Таким образом, вы не хотите, чтобы ваши псевдонимы в неинтерактивных оболочках => вставляли их ~./bashrc
.