Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1410672

Re: script relative shebang

From Nicolai Stange <nicstange@gmail.com>
Newsgroups linux.kernel
Subject Re: script relative shebang
Date 2016-06-01 01:10 +0200
Message-ID <rF0Xo-s6-13@gated-at.bofh.it> (permalink)
References <rEZHX-7YV-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Boris,

Boris Rybalkin <ribalkin@gmail.com> writes:

> I would like to know if any changes to parsing '#!' script header line
> are accepted in particular having ability to run interpreter from
> relative to the script path?
>
> Something like:
>
> #!{dirname}/python/bin/python
>
> Where {dirname} is a special keyword replaced with dirname of a script.

Just for the record, this can already be done without any help from the
kernel:

Assuming the following demonstration directory layout

  <some_test_dir>/subdir/catself
  <some_test_dir>/relshebang

where catself.sh is your "interpreter":

  #!/bin/sh
  tail -n +2 $1

and relshebang is your script file invoking the toy interpreter from its
shebang as follows:

  #!/usr/bin/gawk {exit system("/bin/sh -c 'exec \"$(dirname \"$0\")\"/subdir/catself \"$0\"' " FILENAME);}
  Hello world.


You don't necessarily need to use gawk here, anything being able to do
system() and taking some code snippet from its first argument will
certainly work.

If this is too ugly, you could also write your own wrapper a la
/usr/bin/env and install that at some central location.


Best,

Nicolai

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

script relative shebang Boris Rybalkin <ribalkin@gmail.com> - 2016-05-31 23:50 +0200
  Re: script relative shebang Nicolai Stange <nicstange@gmail.com> - 2016-06-01 01:10 +0200
    Re: script relative shebang Boris <ribalkin@gmail.com> - 2016-06-01 10:10 +0200
      Re: script relative shebang Bernd Petrovitsch <bernd@petrovitsch.priv.at> - 2016-06-01 15:20 +0200
      Re: script relative shebang "Austin S. Hemmelgarn" <ahferroin7@gmail.com> - 2016-06-01 17:40 +0200
        Re: script relative shebang Boris Rybalkin <ribalkin@gmail.com> - 2016-06-02 02:10 +0200
          Re: script relative shebang Ken Moffat <zarniwhoop@ntlworld.com> - 2016-06-02 06:30 +0200
            Re: script relative shebang Boris <ribalkin@gmail.com> - 2016-06-03 00:50 +0200

csiph-web