Aharon Robbins <arnold(a)skeeve.com> wrote:
Can anyone give a definitive date for when Bill
Joy's csh first got out
of Berkeley? I suspect it's in the 1976 - 1977 time frame, but I don't
know for sure.
In 1977 (published November 23), there was "ashell" with this
"READ_ME":
/*--------------------------------------------------------------------------*/
Wed Oct 19, 1977
This directory contains the source for a shell.
It requires floating point to do the time command which is built-in
so you will have to cc it -f on machines without floating point.
It also requires a version 7 C compiler.
Accurate documentation is in the file "sh.6" to be nroffed with
/usr/man/man0/naa and a new "version 7" nroff.
This shell requires the "htmp" data base also used by the editor
"ex".
If you do not set it up so that the "sethome" command is done by
"login"
then you should use the old "osethome" routine in ../s6 rather than
"sethome"
and reenable the execl of this sethome in the file "sh.c" (with the correct
pathname).
Bill Joy
CS Division
Department of EE and CS
UC Berkeley
Berkeley, California 94704
(415) 524-4510 [HOME]
(415) 642-4948 [SCHOOL]
/*--------------------------------------------------------------------------*/
Given that ashell/sh.c contains:
/*
* Shell
*
* Modified by Bill Joy
* UC Berkeley 1976/1977
*
it was most likely based on the Thompson shell.
Here is the start of the man page:
/*--------------------------------------------------------------------------*/
SH(VI) 9/15/77 SH(VI)
NAME
sh - a shell (command interpreter)
SYNOPSIS
sh [ -V ] [ -v ] [ -t ] [ -c ] [ -i ] [ name [ arg ... ] ]
DESCRIPTION
Sh is a command interpreter. It arranges and interprets
command lines and the contents of command files. It is a
modification of the standard shell sh (I), and almost com-
pletely upward compatible therewith. The intent, in working
on a new shell, is to provide an environment which is more
easily tailored to the wishes of each individual user. Most
new features of this shell, especially the alias feature,
are toward this end. Later versions of this shell may
include improvements to the command language of the shell
and allow more easy repetition of commands. The intent here
is to make the command language more resemble a high-level
language - C being the natural choice for UNIX, and to pro-
vide some means of repeating modified commands without
retyping, perhaps akin to the INTERLISP redo feature. The
eventual goal is a C-shell, csh (or ``seashell'' if you
prefer.)
/*--------------------------------------------------------------------------*/
BTW: csh was an improvement for most shells from that time, but it lacks a
decent history editor.
In 1982, I wrote my first experimental history editor that supports cursor keys
but called the commands via system() and in 1984, I integrated this concept
into a shell called "bsh" that we had at H. Berthold AG on an OS called
"VBERTOS" that was based on "UNOS" - the first UNIX clone.
A csh port for UNOS was available around 1982, but with the availability of
a shell with integrated history editor, other shells seemed to be of no
real interest. So around September 1984, people at H.Berthold AG stopped using
csh even though bsh had similar problems in the shell command language as
seen with csh.
Jörg
--
EMail:joerg@schily.net (home) Jörg Schilling D-13353 Berlin
joerg.schilling(a)fokus.fraunhofer.de (work) Blog:
http://schily.blogspot.com/
URL:
http://cdrecord.org/private/
http://sourceforge.net/projects/schilytools/files/'