De acordo com man bash
:
Quando o bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível.
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
Também existe /etc/bashrc
( /etc/bash.bashrc
no Linux baseado no Debian) que contém System wide functions and aliases
. Por padrão, isso é definido, mesmo para shells não interativos e sem logon.
EDITAR:
Os tilde
caminhos indicam o home directory
usuário conectado no momento. O Bash só pode usar um dos ~/.bash_profile, ~/.bash_login, or ~/.profile
(por usuário atualmente conectado), nessa ordem, para ler e executar comandos. (Os sistemas operacionais baseados no Debian geralmente não ~/.bash_profile or ~/.bash_login.
usam o arquivo ~/.profile
. Este arquivo explica que ele será lido e usado, a menos que ~/.bash_profile or ~/.bash_login
seja criado.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
existe.