По словам man bash
:
Когда bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения.
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
Существует также /etc/bashrc
( /etc/bash.bashrc
в Linux на основе Debian), который содержит System wide functions and aliases
. По умолчанию это установлено, даже для неинтерактивных оболочек без входа в систему.
РЕДАКТИРОВАТЬ:
В tilde
путях указывается home directory
зарегистрированный в данный момент пользователь. Bash может использовать только одну из них ~/.bash_profile, ~/.bash_login, or ~/.profile
(для каждого пользователя, вошедшего в систему) в указанном порядке для чтения и выполнения команд. (Операционные системы на основе Debian, как правило, не имеют. ~/.bash_profile or ~/.bash_login.
Они используют файл ~/.profile
. Этот файл объясняет, что он будет прочитан и использован, если не ~/.bash_profile or ~/.bash_login
будет создан.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
существуют.