Мы только что запустили наш новый сервер (ы), и мы запускаем CentOS на них всех. После успешной установки Ruby Enterprise Edition я хотел бы добавить /usr/lib/ruby-enterprise/bin
каталог REE / bin (расположенный в ), чтобы сделать его интерпретатором Ruby по умолчанию на сервере.
Я пробовал следующее, которое только добавляет его к текущей сессии оболочки:
export PATH=/usr/lib/ruby-enterprise/bin:$PATH
Каков будет правильный подход к постоянному добавлению этого каталога в $ PATH для всех пользователей . В настоящее время я вошел в систему как root.
Заранее спасибо!
~/.profile
это еще один действительный вариантПосле следования совету fmonk я проверил
/etc/bashrc
, где заметил, что «Среда находится в / etc / profile». Я приступил к поиску/etc/profile
, я увидел это:Чтобы решить мою проблему, я просто добавил
pathmunge /usr/lib/ruby-enterprise/bin
под оператором if. Это решило мою проблему.источник
"$EUID" = "0"
значит в этом контексте?/etc/profile.d/
папке, и вы заметите это. Также, по его словам, обновление системы может отменить ваше решение.Поэтому я не буду помещать переменные среды в bashrc, потому что это не только противоречит общему соглашению, но вы также пропустите переменные bashrc при вызове терминала из графической среды рабочего стола.
На Redhat в
/etc/profile
я нашел этот комментарий:Поэтому, если вы хотите установить переменные окружения для пользователя, сделайте это в пользовательском файле .bash_profile.
Направляясь к
.bash_profile
я прочитал:Заключение
Если вы хотите, чтобы только root видел программы, например, в /
sbin
я добавил бы этот путь к.bash_profile
файлу root . Но если вы хотите , чтобы каждый пользователь видеть , что корень конкретных программ, установленных на вашем компьютере , я бы поставил/sbin
в/etc/.profile
. Теперь каждый пользователь может использовать завершение табуляции для поиска специфических корневых программ и повышения прав при необходимости.Особый случай: SSH
Когда ssh запускается из командной строки, запускается интерактивная оболочка входа. Но в этом случае
/etc/profile
не читается. Когда я определял переменные окружения в.bash_profile
файле каждого пользователя, он работал с ssh.источник
Извините, неправильно истолковал вопрос, следующий вопрос для профиля пользователя USER оставив его в случае, если он кому-то помогает
изменить .bash_profile
затем где-нибудь в файле добавьте / измените ваши пути, разделенные:
затем перезагрузите свой профиль
или выйдите и войдите снова
если вы проверяете PATH, он должен включать ваши недавно добавленные пути
источник
Вы можете установить переменные окружения в файле .rc; для оболочек bash (я считаю наиболее распространенным и по умолчанию в CentOS) у каждого пользователя есть файл с именем .bashrc в его домашнем каталоге.
Добавьте команду PATH = / usr / lib / ruby-enterprise / bin: $ PATH в этот файл, чтобы установить ее для любого конкретного пользователя.
Чтобы установить его для всех пользователей (как вы упомянули), измените его в / etc / bashrc (файл по умолчанию .bashrc в домашнем каталоге каждого пользователя должен содержать этот файл, но вы должны перепроверить его).
источник