Penguin
Annotated edit history of Shell version 9 showing authors affecting page license. View with all changes included.
Rev Author # Line
3 AristotlePagaltzis 1 Known as the CommandLine to people nowadays, it is the main program used for interacting with a computer (besides graphical DesktopEnvironment~s). It also implements a very high level ProgrammingLanguage that is available for both interactive and scripted use.
2
3 The original [UNIX] shell is called the “Bourne shell”, after its designer Steven Bourne. The executable is just called sh(1), and it's still the foundation of all modern [Shell]s on [Unix]oid OperatingSystem~s.
4
5 The first derivate was Bill Joy's [C] shell, csh(1), meant to make shell scripting easier for [C] programmers. It was developed at [UCB] as the shell of choice for [BSD] systems. This shell suffered many problems in interactive uses and non, which eventually even prompted a CshProgrammingConsideredHarmful paper. It has not been released under a FreeSoftware license.
6
7 At [AT&T], David Korn derived the Korn shell, __ksh__, from the Bourne shell. This shell is completely backwards compatible with its predecessor and much more powerful. It is quite common on commercial [Unix] flavours such as [Solaris].
8
9 Since no __ksh__ variant was ever FreeSoftware (although there was eventually a [Free] clone called pdksh (__p__ublic __d__omain __ksh__) started in the mid 1990s), the [GNU] project wrote their own Bourne compatible shell, and in typical [GNU]ish punstery called it the bash(1), “Bourne again shell”. See BashNotes for hints and examples for using bash(1).
10
11 Meanwhile many of the csh(1)'s shortcomings for interactive use were fixed in the tcsh(1). It is the default shell for modern [BSD] variants.
12
8 AristotlePagaltzis 13 Other sh-compatible shells include:
14 * ash(1), a very minimalistic variant mostly meant for embedded systems and the like were memory is scarce and interactive use is uncommon.
15 * sash(1), the __S__tand-__A__lone shell which is staticly linked for “emergency repair work” when sh(1) won't work.
16 * zsh(1), which features wildly expanded (but backwards compatible) syntax and many convenience features for interactive use, such as improved TabCompletion.
3 AristotlePagaltzis 17
18 ----
19 Part of CategoryProgrammingLanguages, CategoryVeryHighLevelProgrammingLanguages