[TUHS] Other Bell Labs shells from the 80s?

Arnold Robbins via TUHS tuhs at tuhs.org
Wed Mar 4 17:55:23 AEST 2026


Ron,

Doug Gwyn distributed your changes with his "System 5 on top of BSD"
tape, which we had at Georgia Tech.  As I recall it, the version
we had did not have command line editing, neither csh-style nor
vi/emacs style.

I went through your changes and backported them to the 4.2 BSD Bourne
shell (Boune-gol, anyone?), and posted the diffs to USENET.  I also
wrote a csh-style history mechanism for the Bourne shell and I'm pretty
sure posted it as well.

I did other hacking on the System V shell; Rob sent me the V8 sh(1) man page
and that inspired me to do a whatis command that knew how to pretty-print
shell functions.  I may have done a "builtin" command and changed
the order so that function were found first, but I don't remember.

This would all have been circa 1983-1985.

In any case, Ron, I was very grateful for your efforts, as I detested csh's
syntax, and refused to use it, even though it meant not having job control.

Later on we got ksh86 at Georgia Tech, and I switched to that for day-to-day
use, and then even later on when I was at Emory to ksh88.

At some point I also made a few contributions to pdksh; my name used to
be listed in the doc for it.

Upon moving to Linux, Bash became my daily driver and I've been quite
happy with it for well over 25 years now (thanks Chet!)

Arnold

Ron Natalie via TUHS <tuhs at tuhs.org> wrote:

> I always detested the CSH.    The problem was the Sys5 Bourne shell 
> didn’t support the BSD job control.   So, I spent the time to figure out 
> how it worked in csh (the kernel calls are not exactly well documented), 
> and hacked it into /bin/sh.   Even that wasn’t enough to convince my 
> coworkers to switch as they were now using the tcsh.   So, ,I put 
> command line editing (to a better implementation having been working on 
> gosmacs at the time) into /bin/sh.   I used it for as long as I was at 
> BRL.   By the time I left, the Korn shell was beginning to make its way 
> out of the labs.    I do remember sitting at a USENIX having a nice 
> discussion of shell internals with Dave.     I also explained carefully 
> to the guys working on one of the open source shells how it all worked 
> so they could implement it.   For a long time googling my name got shell 
> manual pages all over the place as the programmers gave me credit.
>
> Years after the fact I was working for my intelligence imagery company 
> and we did a lot of work with loaner equipment (our software being 
> ultraportable we worked on MIPS, Dec Alpha, Itanium, Suns and SGIs of 
> various configurations  Apollo, HP Oki, Masspar, Cray, DG, Stellar, 
> Ardent, NeXT, IBM (from PCs to RS/6000 to mainframes) etc…).
>
> Usually the first thing I did is port emacs (having never really learned 
> vi I always impressed my office mates with how fast I could do stuff 
> with ed) and   one of the shells (pdksh usually).
>
> Anyhow, I’m sitting at a machine and type “fg” at the coknsole 
> absentmindedly.   It comes back with “Job Control Not Enabled”.   Hmm… 
> that sounds familiar.   I type “set -J” which was the command to turn on 
> Job Control in my version fo the SysV shell and it replies with “Job 
> Control Enabled.”
> Holy crap, this is a “ron shell.”    After a bit of tracing I found that 
> Doug Gwyn had put my shell on the SystemV on BSD distribution tapes.   
> Then Mach fully included that distribution in theirs, so every one with 
> mach derived source had a “ron shell” for /bin/sh.


More information about the TUHS mailing list