scripting

Björn Lindberg d95-bli at nada.kth.se
Wed Jul 14 03:40:01 PDT 2004


Bennett Todd <bet at rahul.net> writes:

> 2004-07-13T21:16:05 Björn Lindberg:
> > Bennett Todd <bet at rahul.net> writes:
> > > Since ksh has attempted to swing around to being more Posixy, I
> > > expect you're right.
> > 
> > I had the impression that it is the POSIX shell standard that is more
> > or less based on ksh (or rather, based on Bourne shell but
> > incorporating ksh extensions at the time). Bash in turn derives most
> > of its beyond Bourne-extensions fron ksh. I believe that ksh88 is
> > quite close to POSIX in that it is both compliant, and does not have
> > too many extensions of its own.
> 
> Whereas I had the impression that as the POSIX standard was
> being settled, bash was being adapted to be its first reference
> implementation; where details differed from ksh, for some time bash
> complied and ksh didn't.

ksh was first created in 1983, but the most popular version was ksh88,
released in 1988. It was proprietary, but widely installed because
most UNIX systems bought it to include as their POSIX shell. POSIX
1003.2 was finalized in 1992, but as far as I know bash was not
created until later. I am not able to find information on when bash
was first available (it being open source, this may very well have
been a gradual introduction), but bash 2.0 was released December 1996
according to a changelog file in the sources. Bash didn't become
important until Linux started being widely adopted, so I have a hard
time imagining that it had any influence on the POSIX process at the
time. Here is a Q&A from the ksh FAQ at
http://kornshell.com/doc/faq.html:

Q3.	What is the history of ksh?
A3.	ksh was written by David Korn at Bell Telephone Laboratories.
	David Korn is currently at AT&T Laboratories.
	The first version of ksh was in 1983.  It was the first
	shell to have command line editing with both emacs
	and vi style interaction.  The 1986 version was the first
	to offer multibyte support.  The 1988 version of ksh
	is the version that was adopted by System V Release 4 UNIX
	and was a source document for the IEEE POSIX and ISO
	shell standards.  The 1993 version is a major rewrite
	of the 1988 version and focuses more on scripting.

If you have additional or different insights, I would be intersetsed
to hear them.


Björn



More information about the lfs-chat mailing list