Відповіді:
/etc/bash.bashrc
стосується всіх користувачів
~/.bashrc
стосується лише користувача, у якій домашній папці.
readonly
в /etc/bash.bashrc
: \
Відповідно до документації GNU Bash :
Коли Bash викликається як інтерактивна оболонка для входу, або як неінтерактивна оболонка з опцією --login, вона спочатку зчитує та виконує команди з файлу / etc / profile , якщо цей файл існує. Прочитавши цей файл, він шукає у такому порядку ~ / .bash_profile , ~ / .bash_login та ~ / .profile та зчитує та виконує команди з першого, який існує та читається. Параметр --noprofile може використовуватися, коли оболонка запускається для пригнічення такої поведінки.
Викликається як інтерактивна оболонка без входу. Коли запускається інтерактивна оболонка, яка не є оболонкою для входу, Bash зчитує та виконує команди з ~ / .bashrc , якщо такий файл існує. Це може бути пригнічено за допомогою параметра --norc. Параметр файлу --rcfile змусить Bash читати та виконувати команди з файлу замість ~ / .bashrc.
Отже, як правило, ваш ~ / .bash_profile містить рядок
якщо [-f ~ / .bashrc]; потім . ~ / .bashrc; фі
після (або раніше) будь-яких ініціалізацій, що стосуються входу.
Для своїх особистих уподобань та особистих скриптів чи функцій bash слід використовувати .bashrc (псевдоніми, Додані функції до баш ...)
Момент, коли ви хочете щось поділитися з усіма користувачами (або більшістю користувачів) або для речей загального користування (Шлях для спільних виконуваних файлів, шлях для документації ...), помістіть його у /etc/bash.bashrc
Я сказав, що більшість користувачів тому, що навіть скажімо, ви вказали скрипт вітаю.ш, який друкує "Hello world!"
для всіх користувачів, але користувач Пепе хоче використовувати замість цього сценарій вітання.ш, який друкує "Hola el mundo!"
. Він може змінити свій шлях у своєму .bashrc, щоб вказати на його сценарій замість вашого. Іншим словом, користувач завжди може налаштувати свій сеанс в .bashrc під те, що він хоче.