Bash /etc/profile dot bash_profile bash_login profile source sequence
When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login
option, it first reads and executes commands from the file /etc/profile, if that file exists. After
reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and
reads and executes commands from the first one that exists and is readable.
Interactive login shell: login to linux through ssh or desktop environment like KDE/Gnome/XFCE
Non-interactive shell: bash script

From exmaple above we can see interactive shell will source /etc/profile and /home/j/.bash_profile(if exist),no-interactive will NOT source any profiles
[j@server01 ~]$ bash --login Sourced /etc/profile... Sourced /home/j/.bash_profile [j@server01 ~]$ [j@server01 ~]$ rm -f .bash_profile [j@server01 ~]$ bash --login Sourced /etc/profile... Sourced /home/j/.bash_login [j@server01 ~]$ rm -f .bash_login [j@server01 ~]$ bash --login Sourced /etc/profile... Sourced /home/j/.profile [j@server01 ~]$
Also as the manual says , if no .bash_profile .bash_login will be source , if no .bash_login then .profile will be sourced