From mboxrd@z Thu Jan 1 00:00:00 1970 From: schily@schily.net (Joerg Schilling) Date: Mon, 27 Jun 2016 12:03:29 +0200 Subject: [TUHS] Origin year of BSD csh? In-Reply-To: <201606261014.u5QAE1qX015184@skeeve.com> References: <201606261014.u5QAE1qX015184@skeeve.com> Message-ID: <5770f9f1.o/MzyLOmHMtfmIkf%schily@schily.net> Aharon Robbins 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 at schily.net (home) Jörg Schilling D-13353 Berlin joerg.schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/'