The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: mascheck@in-ulm.de (Sven Mascheck)
Subject: [TUHS] Shell control through external commands
Date: Sun, 11 Sep 2016 20:50:53 +0200	[thread overview]
Message-ID: <20160911185053.GA901858@lisa.in-ulm.de> (raw)
In-Reply-To: <CAEoi9W62QMprW=AqXJ4aJuwxKnjydWfUgEpr7bRBQsWoc-gtkw@mail.gmail.com>

On Sun, Sep 11, 2016 at 02:27:48PM -0400, Dan Cross wrote:
> On Sun, Sep 11, 2016 at 1:39 PM, Doug McIlroy <doug at cs.dartmouth.edu> wrote:
> 
> > > IIRC #! originated at Bell Labs but it got out to the world via BSD.
> > > Perhaps Dr. McIlroy could confirm / deny / expand upon the details
> > (please?)
> >
> > I recall Dennis discussing the feature at some length before installing it.
> > So the exact semantics, especially the injected argument, are almost]
> > certainly his. I don't know whether he built on a model from elsewhere.
> > #! appeared between v7 (1979) and v8 (1985). As v8 was never released,
> > it clearly made its way into the world via BSD and USG. BSD, being
> > more nimble, was likely first.
> 
> Also, 8th edition was essentially a re-port of 4.1c BSD, correct? If it
> were already in BSD, it could conceivably come back into 8th edition via
> that route. I found the following in /usr/src/sys/sys/TODO for 4.0BSD:
> 
> 6. Exec fixes
> >         Implement dmr's #! feature; pass string arguments through faster.

See 4.0BSD /usr/src/sys/newsys/sys1.c
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/sys/newsys/sys1.c
for two mails from Dennis to Berkeley, sending the info and code.

> >From dmr Thu Jan 10 04:25:49 1980 remote from research
> The system has been changed so that if a file being executed
> begins with the magic characters #! , [...]

I tried to follow all the traces of #! and collected the results on
http://www.in-ulm.de/~mascheck/various/shebang/
I'd be happy to add and fix stuff, if somebody spots anything.

Warren, one has to be careful not to have trailing slashes in web archive URLs.
(e.g., after modifying URLs by hand). Example: calling
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/sys/
eventually results in the link
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/sys//sys/TODO
which yields "...is not a known file.", while
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/sys/sys/TODO
is valid.

-Sven


  reply	other threads:[~2016-09-11 18:50 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-11 17:39 Doug McIlroy
2016-09-11 18:11 ` Clem Cole
2016-09-11 18:27 ` Dan Cross
2016-09-11 18:50   ` Sven Mascheck [this message]
2016-09-11 22:13     ` Random832
  -- strict thread matches above, loose matches on Subject: below --
2016-09-12 12:57 Norman Wilson
2016-09-12 12:56 Norman Wilson
2016-09-12  1:43 Norman Wilson
2016-09-12  9:18 ` Joerg Schilling
2016-09-12  1:31 Norman Wilson
2016-09-12  9:33 ` Joerg Schilling
2016-09-12  0:27 Doug McIlroy
2016-09-10 14:57 Nemo
2016-07-15 16:47 Doug McIlroy
2016-09-10 17:40 ` Dario Niedermann
2016-09-10 19:22   ` arnold
2016-09-12  8:35     ` markus schnalke
2016-09-12  9:25       ` Joerg Schilling
2016-09-12 12:41         ` Tony Finch
2016-09-12 12:50           ` Joerg Schilling
2016-09-13  0:17             ` Sven Mascheck
2016-09-13  1:45               ` Sven Mascheck
2016-09-13  9:20               ` Joerg Schilling
2016-09-12 20:12       ` Dave Horsfall
2016-09-12 21:36         ` Dave Horsfall
2016-09-10 22:43   ` Dave Horsfall
2016-09-11  1:24     ` Ron Natalie
2016-09-11  2:39       ` arnold
2016-09-11  2:41         ` Ronald Natalie
2016-09-11  4:07         ` Dave Horsfall
2016-09-11  5:01           ` arnold
2016-09-12  5:49             ` Dave Horsfall
2016-07-15 12:27 Norman Wilson
2016-09-10  7:45 ` Dario Niedermann
2016-09-10  9:13   ` Michael Kjörling
2016-09-10  9:41     ` Joerg Schilling
2016-09-10 17:06     ` Random832
2016-09-10 17:45       ` Dario Niedermann
2016-09-10 19:53         ` Dan Cross
2016-09-10 20:02         ` Chet Ramey
2016-09-10 20:27           ` Dario Niedermann
2016-09-11 10:03         ` Diomidis Spinellis
2016-09-12 10:05         ` Jacob Goense
2016-07-15  4:29 Rudi Blom
2016-07-14 13:18 Diomidis Spinellis
2016-07-14 13:23 ` Clem Cole
2016-07-14 14:12   ` Mary Ann Horton
2016-07-14 22:36   ` Dave Horsfall
2016-07-14 22:47     ` Corey Lindsly
2016-07-14 22:49     ` Peter Jeremy
2016-07-14 23:27       ` Marc Rochkind
2016-07-15 10:13         ` Joerg Schilling
     [not found]       ` <CAH_OBieVFzPn93L8=_fmbUycZ7UmYdXiopC0vgei6RGDZp0mHw@mail.gmail.com>
     [not found]         ` <CAH_OBie_6gFy+BqkCMj+sr0NqTMNOQxvgWf6SQnHMJpn7DAytA@mail.gmail.com>
2016-07-14 23:56           ` shawn wilson
2016-07-15  1:04             ` Dave Horsfall
2016-07-15  1:22               ` Steve Nickolas
2016-07-15  2:25               ` arnold
2016-07-16  6:26                 ` Dave Horsfall
2016-07-15  2:25             ` Random832
2016-07-15  3:59               ` Dave Horsfall
2016-07-15  4:09                 ` Random832
2016-07-15 13:55                 ` Chet Ramey
2016-07-14 23:10     ` Ronald Natalie
2016-07-15  1:41       ` Nemo
2016-07-15  9:00     ` Tony Finch
2016-07-14 14:11 ` schoedel
2016-07-14 14:38   ` Diomidis Spinellis
2016-07-14 15:46 ` John Cowan
2016-07-14 16:30   ` Random832
2016-07-14 22:32 ` Dave Horsfall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160911185053.GA901858@lisa.in-ulm.de \
    --to=mascheck@in-ulm.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).