/etc/bash.bashrc
относится ко всем пользователям
~/.bashrc
относится только к пользователю, в котором он находится.
Когда я должен использовать каждый из двух файлов .bashrc для установки своих псевдонимов, подсказок и т. Д.?
/etc/bash.bashrc
относится ко всем пользователям
~/.bashrc
относится только к пользователю, в котором он находится.
Согласно документации GNU Bash :
Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения. Опция --noprofile может использоваться, когда оболочка запущена, чтобы запретить это поведение.
Вызывается как интерактивная оболочка без входа в систему Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, Bash читает и выполняет команды из ~ / .bashrc, если этот файл существует. Это может быть запрещено с помощью параметра --norc. Опция --rcfile file заставит Bash читать и выполнять команды из файла вместо ~ / .bashrc.
Так что, как правило, ваш ~ / .bash_profile содержит строку
если [-f ~ / .bashrc]; затем . ~ / .Bashrc; фи
после (или до) любых инициализаций, специфичных для входа в систему.
Для ваших личных предпочтений и личных сценариев или функций bash вы должны использовать .bashrc (псевдонимы, добавлены функции для bash ...)
В тот момент, когда вы хотите поделиться чем-то со всеми пользователями (или большинством пользователей) или для вещей общего пользования (путь для общих исполняемых файлов, путь для документации ...), поместите это в /etc/bash.bashrc
Я сказал большинству пользователей, потому что даже допустим, что вы указываете скрипт greetings.sh, который печатает "Hello world!"
для всех пользователей, но пользователь Pepe хочет использовать вместо него скрипт greetings.sh, который печатает "Hola el mundo!"
. Он может изменить свой путь в своем .bashrc так, чтобы он указывал на свой сценарий, а не на ваш. Другими словами, пользователь всегда может настроить свою сессию в .bashrc так, как он хочет.