Unix has several standalone command interpreters, which can also be used as ScriptingLanguages. (See CommandLineInterface.)
-
The BourneShell, /bin/sh, is the most widely found. Scripts written for the BourneShell are properly interpreted by ksh, bash, and some other shells.
-
The CeeShell, csh, has a substantially different syntax for its programming constructs. Not usually recommended for robust scripting (See http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/).
-
The KornShell, ksh, originated with AT&T and System V.
-
The BourneAgainShell, /bin/bash, is popular on the free Unixes. It is an extended BourneShell, 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 http://www.zsh.org/)
-
The FriendlyInteractiveShell, fish.
-
The RcShell by TomDuff from PlanNineFromBellLabs is one of the few shells built from a grammar. It has been ported to Unix. Documented at http://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 http://www.webcom.com/~haahr/es/es-usenix-winter93.html).
-
The EmacsShell, eshell, runs within emacs, and provides a uniform working environment wherever emacs is supported (i.e. just about everywhere).
-
The SchemeShell, scsh, is an open-source Unix shell embedded within the SchemeLanguage. (See ScshWiki and http://www.scsh.net/)
-
The CLISP CommonLisp implementation can be configured to run as your login shell: http://clisp.sourceforge.net/clash.html
A brief comparison of the common UnixShells: http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
See: UnixShellPatterns, ShellVariables, InterpretedLanguage
CategoryScripting CategoryUnix