В 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