From: random832@fastmail.com (Random832)
Subject: [TUHS] Shell control through external commands
Date: Sun, 11 Sep 2016 18:13:19 -0400 [thread overview]
Message-ID: <1473631999.3825346.722456001.70CCA0C8@webmail.messagingengine.com> (raw)
In-Reply-To: <20160911185053.GA901858@lisa.in-ulm.de>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2059 bytes --]
On Sun, Sep 11, 2016, at 14:50, Sven Mascheck wrote:
> 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.
DEMOS (the soviet version of Unix) seems to have an independent
implementation that supports some features no-one else does
- use $* to define where the passed-in arguments [including the script
name] go between the interpreter-arguments specified on the #!-line
- alternate magic "/*#!"
I don't remember where I downloaded it from, I think maybe someone
posted it here a few years ago.
Relevant bits from sys1.c:
# define SCRMAG "#!"
# define SCRMAG2 "/*#!"
# define ARGPLACE "$*"
/* формат:
пусть есть файл /.../.../x
со следующим содержимым:
-------------------------------
|#!CMD A1 A2 A3
| .......
Вызываем команду:
x B1 B2
Запустится на самом деле такая команда:
CMD A1 A2 A3 /.../.../x B1 B2
Один из аргументов Ai может иметь вид $*
Тогда аргументы запуска подставятся на это место, а не в конец:
-------------------------------
|#!CMD A1 $* A2 A3
| .......
Вызываем:
x B1 B2
Запустится:
CMD A1 /.../.../x B1 B2 A2 A3
*/
There's no comment describing the SCRMAG2 feature but you can see it
used in code:
if (indir < NSYMLNK && u.u_offset > (off_t)2 ){
cp = (char *) &u.u_exdata;
if( !bcmp(cp, SCRMAG, 2 ))
off = (off_t) 2;
else if( u.u_offset > (off_t)4 && !bcmp( cp, SCRMAG2, 4))
off = (off_t) 4;
Sole uses of these features in the source tree:
cmd/OPQRS/spline.c,v:@/*#!/bin/cc -O $* -o spline
cmd/EFGHIJK/glob.c,v:@/*#!/bin/cc -o glob
next prev parent reply other threads:[~2016-09-11 22:13 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
2016-09-11 22:13 ` Random832 [this message]
-- 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=1473631999.3825346.722456001.70CCA0C8@webmail.messagingengine.com \
--to=random832@fastmail.com \
/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).