>Can someone briefly summarize for me the shells and their respective init
>(correct terminology?)files? For example: bash uses .bashrc or .bash_login?
>But what about csh, and ksh? And where does .profile .login fit into this?
Here is a not-quite-complete answer:
shell | if "login shell" | other interactive startup
sh | .profile | -none-
ksh | .profile | file named in $ENV
bash | .bash_profile (1) | .bashrc
zsh | .zprofile/.zlogin | .zshrc
csh | .login | .cshrc
tcsh | .login | .cshrc
rc | .rcrc | -none-
es | .esrc | -none-
scsh | -none- (2) | -none-
(1) bash will try to source .profile if no .bash_profile exists.
(2) As far as I can tell, scsh is not really designed to be
used as an interactive shell, at least in its current
For important details which may have been omitted above (e.g., does
a "login shell" source the "other interactive" file in addition
to the login file, and if so, in what order? Are there any system-wide
files which get sourced for login shells?), and to correct errors
(I don't use all of these shells, and so may be remembering some
details wrong), I advise you to refer to the man pages for the shells