Unix|Bash: about .bashrc, .bash_profile, .profile, /etc/profile, etc/bash.bashrc and others
Bash: about .bashrc, .bash_profile, .profile, /etc/profile, etc/bash.bashrc and others
Ever wondered what's the difference between ~/.bashrc
, ~/.bash_profile
, ~/.profile
, /etc/profile
, /etc/bash.bashrc
(and maybe others) and what their purposes are? I do.
Some interesting excerpts from the bash manpage:
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. The --noprofile
option may be used when the shell is started to inhibit this behavior.
...
When an interactive shell that is not a login shell is started, bash reads and executes commands from /etc/bash.bashrc
and ~/.bashrc
, if these files exist. 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 /etc/bash.bashrc
and ~/.bashrc
.
No comments:
Post a Comment