Назад | Перейти на главную страницу

Общесистемный bashrc во FreeBSD

В Linux обычно есть глобальный файл bashrc (/etc/bash.bashrc или /etc/bashrc). Однако во FreeBSD bash, похоже, не поддерживает эту функцию. Как тогда лучше всего добавить общесистемный bashrc?

Похоже, что не существует общего файла запуска для интерактивных оболочек без входа в систему для Bash во FreeBSD. Вам нужно будет добавить что-то вроде:

. /etc/bash.bashrc

к началу каждого пользователя ~/.bashrc.

Это заставило меня немного подумать, поэтому я проверил установки bash на моих серверах solaris (9 и 10) и FreeBSD. Оказывается, единственное место, где bash ищет bashrc, - это ~ / .bashrc.

Дело в том, что это не просто Solaris или FreeBSD. Я проверил страницу руководства, и единственный проверенный профиль - это / etc / profile или различные файлы в домашнем каталоге пользователя. Итак, вероятный виновник - кастомизация дистрибутива. Итак, на серверах linux - Centos, в данном случае -

Из ~ / .bashrc:

# Source global definitions
  if [ -f /etc/bashrc ]; then
    . /etc/bashrc

Вы можете попробовать strings и посмотрите, какие пути включены в двоичный файл.

В любом случае, в RHEL5 единственным общесистемным файлом конфигурации для bash является /etc/profile и нет /etc/bashrc ни другие.

Проверьте каталог / usr / local / etc / и при необходимости свяжите его с / etc /.

@ dan-andreatta предложение использовать strings был полезен:

$ strings $(which bash) | grep profile
~/.profile
noprofile
/usr/local/etc/profile
~/.bash_profile

Мы видим, что для FreeBSD вам необходимо обновить и / или создать /usr/local/etc/profile вместо изменения /etc/profile