What profiles (Shell init scripts) are parsed on process spawn depends on your shell. This is the documentation man page for bash
. There are two different sets of scrips source
ed depending on if the shell is spawned with --login
or without.
bash --login
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
bash
When an interactive shell that is not a login shell is started, bash reads and executes commands from /etc/bash.bashrc and ~/.bashrc
note
The only impact the very weird --login
flag has, is the init script file location. If you configure your system, just do ~/.profile
and make ~/.bashrc
symlink to it.