Annotated edit history of
Shell version 9, including all changes.
View license author blame.
Rev |
Author |
# |
Line |
8 |
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. |
3 |
AristotlePagaltzis |
2 |
|
8 |
AristotlePagaltzis |
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. |
3 |
AristotlePagaltzis |
4 |
|
5 |
AristotlePagaltzis |
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. |
3 |
AristotlePagaltzis |
6 |
|
5 |
AristotlePagaltzis |
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]. |
3 |
AristotlePagaltzis |
8 |
|
7 |
AristotlePagaltzis |
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). |
3 |
AristotlePagaltzis |
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. |
9 |
JohnMcPherson |
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 |
---- |
7 |
AristotlePagaltzis |
19 |
Part of CategoryProgrammingLanguages, CategoryVeryHighLevelProgrammingLanguages |