Which file provides shell configuration for the initial login environment?
This section describes how Bash executes its startup files. If any of the files exist but cannot be read, Bash reports an error. Tildes are expanded in filenames as described above under Tilde Expansion (see Tilde Expansion). Show Interactive shells are described in Interactive Shells. Invoked as an interactive login shell, or with --loginWhen 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. The --noprofile option may be used when the shell is started to inhibit this behavior. When an interactive login shell exits, or a non-interactive login shell executes the Invoked as an interactive non-login shellWhen an interactive shell that is not a login shell is started, Bash reads and executes commands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force Bash to read and execute commands from file instead of ~/.bashrc. So, typically, your ~/.bash_profile contains the line
after (or before) any login-specific initializations. Invoked non-interactivelyWhen Bash is started non-interactively, to run a shell script, for example, it looks for the variable
but the value of the As noted above, if a non-interactive shell is invoked with the --login option, Bash attempts to read and execute commands from the login shell startup files. Invoked with name |