Почему можно добавить ~ / .profile в файл ~ / .bash_profile?

При установке RVM появляется следующее сообщение:

* WARNING: You have '~/.profile' file, you might want to load it, to do that add the following line to '/home/dotancohen/.bash_profile': source ~/.profile 

Я обеспокоен тем, что файл ~ / .profile содержит xmodmap ~/.Xmodmap который я, очевидно, не хочу запускать (меняя ключи CapsLock и ESC) каждый раз, когда я открываю новую оболочку.

Почему мудрые разработчики RVM могут предложить sourcing .profile в .bash_profile ?

2 Solutions collect form web for “Почему можно добавить ~ / .profile в файл ~ / .bash_profile?”

.profile и .bash_profile идентичны с точки зрения того, когда они предназначены для выполнения: они выполняются при входе в систему. Разница в том, что только bash запускает .bash_profile ; В оболочках типа Bourne (тире, ksh и т. Д.) .profile . Сам Bash запускает .profile если .bash_profile не существует.

Даже если у вас есть bash в качестве вашей оболочки для входа, часто бывает, что файл .profile выполняется, когда вы входите в графический режим – многие дистрибутивы настраивают сценарий запуска сеанса X для работы под sh и load .profile .

Следовательно, .profile использовать .profile вместо .bash_profile чтобы делать такие вещи, как определение переменных среды. Если вам абсолютно не нужны специфичные для bash функции, просто поместите все в .profile . Но даже если вы это сделаете, есть причина сохранить .bash_profile , который является тем, что при загрузке bash он не загружает .bashrc , даже если он является интерактивным. Следовательно, для большинства людей ~/.bash_profile должен состоять из этих двух строк:

 . ~/.profile case $- in *i*) . ~/.bashrc;; esac 

Вы не должны запускать xmodmap из .profile . Это не выполняется, когда вы открываете новую оболочку, но она выполняется, например, при удаленном входе в SSH с пересылкой X11. К сожалению, нет стандартного файла, загружаемого при входе в графический режим. Debian загружает ~/.xsessionrc (я думаю, это относится ко всем менеджерам дисплеев, кроме Gdm, который загружает ~/.xprofile ); другие дистрибутивы имеют разные настройки. Если вам нужна кросс-дистрибутивная переносимость, может быть проще настроить среду рабочего стола для запуска xmodmap при ее запуске. Если все, что вы делаете, это замена CapsLock и Ctrl, это можно сделать с настройками XKB, которые обеспечивают большинство современных настольных сред.

Помните, что bash (1) просто читает .bash_profile , другие производные оболочки Bourne просто читают .profile . Если вы иногда используете другую оболочку, вам нужно сохранить .profile .

  • Возможно изменение цвета фона в unix через .profile?
  • глобальная Linux-оболочка linux в переменной памяти - из оболочки
  • Установляет ~ / .bashrc среду для пользователей, чья оболочка / sbin / nologin?
  • Ubuntu 16.04 Скрипты в файле /etc/profile.d
  • не удалось войти через tty {1-6} в качестве обычного пользователя
  • После входа в систему нет приглашений
  • настройка setxkbmap для изменения одного пользователя / отладки xkbmap
  • Профиль «Chain» shells и файлы runcom?
  • Как настроить среду после установки программного обеспечения внутри домашнего каталога?
  • Как заставить Terminator перезагрузить конфигурацию «на лету»?
  • Работа с экспортом странного поведения PATH CentOS
  • Сообщение появляется после завершения каждой команды
  • Linux и Unix - лучшая ОС в мире.