Профиль обычно запускается при каждом входе в систему. Общесистемным файлом входа является /etc/profile
а пользовательскими файлами обычно являются ~/.profile
. Некоторые оболочки имеют свой собственный профиль и rc-файлы, например, bash имеет .bashrc
который запускается оболочкой bash без входа в систему, и .bash_profile
который запускается оболочкой bash входа в систему. Общесистемный bashrc - это /etc/bash.bashrc
Таким образом, вы должны использовать .profile
для вещей, которые должны запускаться оболочками входа в систему, и .bashrc
(или эквивалент) для вещей, которые должны запускаться оболочками, не входящими в систему (псевдонимы, настройка env и т. П.)
разъяснение Баш:
Существует два вида оболочек: оболочка для входа в систему и не для входа в систему. Оболочка входа - это оболочка, запускаемая при входе пользователя в систему. Оболочки без входа в систему - это все остальные оболочки. Например, когда вы входите в систему через ssh
или на консоли, вы получаете оболочку входа в систему.
при запуске запускаются оболочки входа в bash:
/etc/profile
- Первый существующий файл из следующих:
~/.bash_profile
, ~/.bash_login
, ~/.profile
Интерактивные оболочки bash без входа в систему запускаются при запуске:
/etc/bash.bashrc
~/.bashrc
В некоторых (большинство?) unix, которые поставляются с bash, источником профилей ~/.bashrc
, поэтому ~/.bashrc
запускается как для входа в систему, так и для входа в систему без интерактивных оболочек.
Если файл не существует, он пропускается.