It's getting simpler. files that don't exist are ignored login shell (SHLVL=1): /etc/profile and $HOME/.bash_profile or $HOME/.bash_login or $HOME/.profile non-login shell (SHLVL>=2): $HOME/.bashrc logout: $HOME/.bash_logout Chris Kassopulo