Во-первых, .bash_profile
используется только для оболочек входа в систему. .bashrc
используется для любой другой оболочки bash. Поэтому .bash_profile
, как правило, будет источником .bashrc
если он существует, поэтому вам не нужно дублировать команды, которые вы хотите выполнить для каждой оболочки, независимо от того, была ли она оболочкой входа или нет.
Вообще говоря, с этими сценариями можно сделать две вещи: запускать программы и устанавливать переменные среды. Все, что вы хотите запустить при входе в систему, вы помещаете в .bash_profile
, все, что вы хотите установить в каждой оболочке (например, если вы используете screen
или открываете терминал), вы помещаете в .bashrc
.
Некоторые вещи из моего собственного .bashrc
(как пример):
- Установить
$PS1
- Включить специальные правила заполнения вкладок
- Установите параметры оболочки, запустив
shopt
- Настройте псевдонимы команд
Из моего .bash_profile
:
- Источник
.bashrc
- Добавить каталоги в
$PATH
- Запустите
ssh-agent
Важно отметить, что .bash_profile выполняется только если вы входите непосредственно в оболочку bash. Если вы начинаете X-сеанс, вы входите в X-сервер, который будет иметь свой собственный скрипт входа (обычно что-то вроде .xsession
)