lkml.org 
[lkml]   [2016]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: script relative shebang
    From
    Date
    Hi Nicolai,

    Yes, I think this is too ugly:

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

    Imagine you have that feature in your kernel would you rather use:

    #!{dirname}/subdir/catself

    You second advice involves changing root fs which is not desirable in copy-deployment apps (bring all the dependencies)

    This more about making kernel "user" friendly.

    Thank you.

    On 1 June 2016 00:02:05 BST, Nicolai Stange <nicstange@gmail.com> wrote:
    >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

    --
    Sent from my Android device with K-9 Mail. Please excuse my brevity.

    \
     
     \ /
      Last update: 2016-06-01 10:21    [W:6.944 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site