Profiles
All users on a system have the ability to customize their environment to their taste. This can involve choosing a shell such as bash, zsh, or tcsh, setting the environment, shell aliases, or running scripts at startup. These tasks are all handled by various "profile scripts".
A detailed comparison of multiple shells can be found at https://mikemol.github.io/graphviz/refactor/sh/zsh/bash/2018/02/04/graphviz-sh-zsh-bash-refactor.html while a shorter, simpler comparison of basic options between bash
and tsch
is below.
There can be a fair amount of confusion as to what scripts are called, and in what order (tcsh is especially bad in this regard).
The profile scripts used by Bash (version 3) and tcsh (v6.13) look something like this:
Another way to look at this information:
*ENV* | Interactive Login = Yes | Interative Login = No |
---|---|---|
Login = Yes | /etc/profile
|
/etc/profile
|
Login = No | /etc/profile
|
$BASH_ENV
|