[TUHS] History of #! interpretation in Unix
Jeremy C. Reed
reed at reedmedia.net
Tue Jan 18 08:41:39 AEST 2011
On Mon, 17 Jan 2011, John Cowan wrote:
> > This seems to indicate the idea was not developed separately at
> > Berkeley.
> Thanks for doing the digging. What this shows is that dmr came up with
> the idea of putting shebang processing into the kernel, but it does not
> show where shebangs as a shell feature came from. I still think that
> has to be the CSRG.
As a similar feature, Joy's experimental "ashell" in the first BSD had a
feature to run Pascal objects (started with the magic 0404 octal word)
with the px interpreter. In 2BSD (and then 3BSD), his new csh had the
OTHERSH feature -- if it started with # it would use csh; if the script
did not begin with the # it would use /bin/sh.
I still don't see the same #! feature, but the above appear they may be
inspiration. Also the 1BSD and 2BSD predate CSRG.
> > It was introduced into BSD by April 1981. For 2BSD (2.8) it was added by
> > Dec. 16, 1981 when built with MENLO_SCRIPT defined (but I don't see that
> > documented or defined).
> Thanks again for clarifying the ordering here: I had assumed that 2.8
> was older than 4.0.
More information about the TUHS