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