Почему можно добавить ~ / .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 разных пароля для одной и той же сети?
  • Профиль «Chain» shells и файлы runcom?
  • Командная строка (PS1), включая количество файлов в каталоге (как скрытых, так и обычных)
  • Где находится .xprofile для элементарной ОС Luna
  • Выполнить команду для входа в общую учетную запись
  • Как изменить профиль для поиска в текущем каталоге?
  • Откройте Firefox дважды (с тем же профилем)
  • Что делают скрипты в файле /etc/profile.d?
  • 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 .

    Linux и Unix - лучшая ОС в мире.