окружите dotfiles и *rcs: что такое нормальная установка?

Пользователь удара в конечном счете закончит с .bashrc, .bash_profile, .profile, и возможно еще немного.

Теперь, каждый файл загружается unders конкретные ситуации, и все это приводит к беспорядку и разочарованию. Я не забочусь о том, какая оболочка является оболочкой входа в систему и, ни если Вы.

Я просто хочу удостовериться, что то же самое загружается для каждой вещи оболочки, которая происходит.

Так, что нормальный путь состоит в том, чтобы настроить их?

Я держал бы пари, что non-bash-specific вещи входят .profile, и некоторый файл получает другие, и т.д. Что точно было бы во вставленном каждый для достижения идентичной среды для каждой оболочки?

Примечание: Я не спрашиваю, что Вы особенно любите включать свои емкостно-резистивные файлы, как псевдонимы и функции и так далее. Как Вы размечаете их, чтобы не соединить вещи случайным образом среди них.

4
задан 06.08.2009, 11:00

2 ответа

Я просто хочу удостовериться, что то же самое загружается для каждой вещи оболочки, которая происходит.

Если Вы действительно хотите это, вставляете все ~/.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.

4
ответ дан 07.12.2019, 20:49

Я чиню вещи так, чтобы почти вся моя установка была сделана оболочкой входа в систему и почти ничем на основе на оболочку. Это означает мой .profile файл сложен; мой .kshrc файл (аналог .bashrc для Bash и .cshrc для оболочки C), не существует. Я никогда не находил что быть проблемой. Это также означает, что оболочки невхода в систему, быстры как возможный - они не обходят ввод по абсолютному адресу для файлов для парсинга для команд, которые они не будут использовать. Это могло бы быть похмельем со дней Оболочки Bourne - когда на сценарии оболочки не существовал. Но я никогда не находил ничего, что потребовало такой специализированной обработки.

0
ответ дан 07.12.2019, 20:49

Теги

Похожие вопросы