sh(1) , or
Bourne shell. Bourne is the standard
baseline shell for programming purposes.
csh(1) ,
a different shell.
It is necessary, then, to know the Bourne shell for programming purposes. The question then becomes whether it makes sense to use an interactive shell which is compatible with Bourne-ese or one which uses an entirely different language. If you believe the former is preferable, you want the Bourne-Again Shell.
Bash is not as popular as the TCshell around here, at least so far. Both of these shells offer a lot of bells and whistles which are handy for interactive use. Tcsh also has some additional features (most of them chrome IMHO.)
One important feature bash has and other shells don't is functions. These are more powerful than alises in that they may perform arbitrary actions with parameters and work just like shell scripts. Consider the following a-to-d converter function defined in bash:
The best way to start figuring out how to use bash is to:
.bash_profile and my
.bashrc for some samples.) See also my suggestions for config
files.