De acuerdo a man bash
:
Cuando se invoca bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción --login, primero lee y ejecuta comandos del archivo / etc / profile, si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_login y ~ / .profile, en ese orden, y lee y ejecuta comandos del primero que existe y es legible.
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
También hay /etc/bashrc
( /etc/bash.bashrc
en Linux basado en Debian) que contiene System wide functions and aliases
. De manera predeterminada, esto está configurado, incluso para shells no interactivos y sin inicio de sesión.
EDITAR:
El tilde
en las rutas indica el home directory
del usuario actualmente conectado. Bash solo puede usar uno de ~/.bash_profile, ~/.bash_login, or ~/.profile
(por usuario actualmente conectado), en ese orden, para leer y ejecutar comandos. (Los sistemas operativos basados en Debian generalmente no tienen). ~/.bash_profile or ~/.bash_login.
Usan el archivo ~/.profile
. Este archivo explica que será leído y usado a menos que ~/.bash_profile or ~/.bash_login
se cree.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
existe