~ / .bash_profile загружается при входе в систему. Он читается только один раз.
~ / .bashrc загружается каждый раз при запуске оболочки (например, при запуске терминала), но не загружается при первом входе в систему.
Примечание. Некоторые терминалы (например, gnome-terminal) имеют возможность «запускать команду в качестве оболочки входа», то есть, если она включена, она сначала загрузит файл ~ / .bash_profile (или ~ / .profile), прежде чем запускать ~ / .bashrc ,
Примечание. В Mac OS X приложение Terminal запускается как оболочка входа, поэтому он запускает файл ~ / .bash_profile. Различные unixes имеют разную настройку.
Вот выдержка из man bash:
/etc/profile The systemwide initialization file, executed for login shells ~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file ~/.bash_logout The individual login shell cleanup file, executed when a login shell exits ~/.inputrc Individual readline initialization file
Также есть {.login, .profile, …}. Это в основном наследие, которое bash также может читать.
.login – это устаревший файл инициализации входа для исходной оболочки, оболочка Bourne «sh». BASH (Bourne-Again SHell) является в основном совместимой расширенной версией.
Во многих системах unix / bin / sh привязывается к / bin / bash.
В Ubuntu Linux, 2006, / bin / sh является символической ссылкой на / bin / dash. тире является новым. «Тире» меньше и быстрее, чем bash, для запуска сценариев запуска системы.
Файл .profile является устаревшим исходным файлом оболочки оболочки для оболочки Bourne «sh».
.csh – это файл init для оболочки csh. (в основном, оболочка с синтаксисом Си).
.tcshrc – это файл init для tcsh tcsh. (в основном, улучшенный csh)