Unix Shell

Unix has several standalone command interpreters, which can also be used as Scripting Languages. (See Command Line Interface.)

The Bourne Shell, /bin/sh, is the most widely found. Scripts written for the Bourne Shell are properly interpreted by ksh, bash, and some other shells.

The Cee Shell, csh, has a substantially different syntax for its programming constructs. Not usually recommended for robust scripting (See www.faqs.org ).

The Korn Shell, ksh, originated with AT&T and System V.

The Bourne Again Shell, /bin/bash, is popular on the free Unixes. It is an extended Bourne Shell, with much improved command line editing and scripting features, while remaining backwards compatible.

The Tenex C Shell, tcsh, is to csh as bash is to sh.

The Z Shell has a number of advanced command line editing improvements. It's not widely used for scripting, but it has a lot to offer console jockeys. (See www.zsh.org )

The Rc Shell by Tom Duff from Plan Nine From Bell Labs is one of the few shells built from a grammar. It has been ported to Unix. Documented at rc.cat-v.org , and the source isn't far from there.

The es shell is a shell that combines an rc-like syntax with Scheme semantics (See www.webcom.com ).

The Emacs Shell, eshell, runs within emacs, and provides a uniform working environment wherever emacs is supported (i.e. just about everywhere).

The Scheme Shell, scsh, is an open-source Unix shell embedded within the Scheme Language. (See Scsh Wiki and www.scsh.net )

The CLISP Common Lisp implementation can be configured to run as your login shell: clisp.sourceforge.net

A brief comparison of the common Unix Shells: www.faqs.org


See original on c2.com