Bash File execution sequence


.bash_profile, .bash_login, .bashrc, and .profile all do pretty much the same thing: set up and define functions, variables, and the sorts.

The main difference is that .bashrc is called at the opening of a non-login but interactive window, and .bash_profile and the others are called for a login shell. Many people have their .bash_profile or similar call .bashrc anyway.


Other files of note are:

  • /etc/profile, for system-wide (not user specific) initialization code.

  • .bash_logout, triggered when logging out (think cleanup stuff)

  • .inputrc, similar to .bashrc but for readline.