Shell history
John Bruner
jdb at mordor.UUCP
Sun Mar 16 06:08:48 AEST 1986
In article <214 at isieng.UUCP> ron at isieng.UUCP (Ronald P. Hughes) writes:
>Back in the days of Version 6 UNIX, there was a shell (/bin/sh) that
>predated the Bourne shell. I don't know if Steve Bourne was involved
>in this earlier shell's development, but his new creation was intended
>to be a superset of the old. Old shell scripts ran successfully with
>the Bourne shell, which is why he could get away with replacing the
>old shell completely....
Actually, the Bourne shell isn't a simple superset of the V6 (Thompson?)
shell. In particular, the V6 shell only read input one character at
a time, so that all flow control could be implemented by programs which
did a seek() on the shell file (which was passed to them on the standard
input). ("if", "goto", and "exit" were programs.) Programs which read()
the standard input were also expected to do it one character at a time,
so that you could embed input to (for example) "ed" in the middle of the
shell file. (There was no "<<".) As I recall, the only built-in commands
were "chdir", "login", and "newgrp". (I don't remember if ":" was built-in
or was an empty file in "/bin".)
This approach had its drawbacks, but I've always been impressed with
how much capability this very sparse design provided.
It may be true that the Bourne shell is a superset of the PWB 1.0
(Mashey?) shell; I had no opportunity to use it.
--
John Bruner (S-1 Project, Lawrence Livermore National Laboratory)
MILNET: jdb at mordor [jdb at s1-c.ARPA] (415) 422-0758
UUCP: ...!ucbvax!dual!mordor!jdb ...!seismo!mordor!jdb
More information about the Comp.unix.wizards
mailing list