Пользователь удара в конечном счете закончит с .bashrc
, .bash_profile
, .profile
, и возможно еще немного.
Теперь, каждый файл загружается unders конкретные ситуации, и все это приводит к беспорядку и разочарованию. Я не забочусь о том, какая оболочка является оболочкой входа в систему и, ни если Вы.
Я просто хочу удостовериться, что то же самое загружается для каждой вещи оболочки, которая происходит.
Так, что нормальный путь состоит в том, чтобы настроить их?
Я держал бы пари, что non-bash-specific вещи входят .profile
, и некоторый файл получает другие, и т.д. Что точно было бы во вставленном каждый для достижения идентичной среды для каждой оболочки?
Примечание: Я не спрашиваю, что Вы особенно любите включать свои емкостно-резистивные файлы, как псевдонимы и функции и так далее. Как Вы размечаете их, чтобы не соединить вещи случайным образом среди них.
Я просто хочу удостовериться, что то же самое загружается для каждой вещи оболочки, которая происходит.
Если Вы действительно хотите это, вставляете все ~/.profile
и добавьте a source ~/.profile
в конце Вашего ~/.bashrc
. Если это желательно, другой вопрос. К источнику ~/.profile
в ~/.bashrc
очень общая установка так или иначе.
+------------+-----------------+--------------------+ | | login shells | interactive shells | +------------+-----------------+--------------------| | all | /etc/profile | | | bourneish | ----------------+--------------------| | shells | ~/.profile | | +------------+-----------------+--------------------| | just | ~/.bash-profile | /etc/bash.bashrc | | | -------------------------------------| | bash | ~/.bash-login | ~/.bashrc | +------------+-----------------+--------------------+
Оболочка C и оболочки произошли, используют другой набор файлов (.login, .cshrc..).
Что точно было бы во вставленном каждый для достижения идентичной среды для каждой оболочки?
Если Вы имеете в виду среду в смысле переменных среды, просто устанавливаете всех их в ~/.profile, и Вы в порядке. Если Вы имеете в виду среду в более широком смысле, она зависит.
Проблема здесь - то, что не желательно иметь ту же самую среду для оболочек входа в систему и интерактивного. Примером являются псевдонимы: Возможно, Вы хотите псевдонимы в своей интерактивной оболочке, но очень вероятно они заставят Ваши сценарии сделать странные вещи. Таким образом, Вы не хотите свои псевдонимы в неинтерактивных оболочках =>, вставляет их ~./bashrc
.
Я чиню вещи так, чтобы почти вся моя установка была сделана оболочкой входа в систему и почти ничем на основе на оболочку. Это означает мой .profile
файл сложен; мой .kshrc
файл (аналог .bashrc
для Bash и .cshrc
для оболочки C), не существует. Я никогда не находил что быть проблемой. Это также означает, что оболочки невхода в систему, быстры как возможный - они не обходят ввод по абсолютному адресу для файлов для парсинга для команд, которые они не будут использовать. Это могло бы быть похмельем со дней Оболочки Bourne - когда на сценарии оболочки не существовал. Но я никогда не находил ничего, что потребовало такой специализированной обработки.