...
Shell initialisation and configuration files
By default, none of the following files may be present on your account, and you will get the default settings for the system. However, you may want to customise your environment to add new variables, functions or aliases to your sessions or jobs.
File | When it is sourced? | Who sources it? | What is it for? |
---|---|---|---|
$HOME/.profile | each login and job execution | Bash and ksh | Suitable for your own login session settings (e.g. PATH). |
$HOME/.bash_profile | each bash startup login and job execution | Bash only | Suitable for your own login session settings that must only run once for the session or job (e.g. PATH). It overrides .profile if present |
$HOME/.bashrc | each bash startup and job executioninteractive non-login shell | Bash only | Suitable for your own settingsfunctions and aliases to load for all kinds of sessions, includinginteractive non-login sessions. It is not loaded automatically on login sessions |
$HOME/.bash_logout | each bash exit and end of job | Bash only | Suitable for your own cleanup settings at the end of the session or job |
$HOME/.kshrc | each ksh startup login and job execution | ksh only | Suitable for your own settings to load for all kinds of sessions, including non-login sessionsinteractive shells |
Tip | |||||||
---|---|---|---|---|---|---|---|
| |||||||
If bash is your login shell and you would like to customise your environment without having to split content between
|