Re: Shebang - why are parameters not splitted on whitespace?

From: Aaron Cohen
Date: Sat Dec 06 2008 - 16:15:01 EST


You should read this thread:
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/arch/2005-02/0039.html

The shebang processing needs to somehow magically split up the first
line into the file into "some number of arguments for the interpreter"
"some number of arguments for the script being run", and "the script
being run."

The first two are the big difficulty, how should the kernel know which
arguments are meant for the interpreter and which are meant for the
script?

In the article I referenced, current Linux behavior seems to conform
to at least the majority of other OSes do, and I believe freeBSD
actually moved from trying to split the arguments up into something
similar (though I couldn't swear to it).

--Aaron

On Sat, Dec 6, 2008 at 4:02 AM, Geralt <usr.gentoo@xxxxxxxxxxxxxx> wrote:
> On Sat, Dec 6, 2008 at 6:41 AM, <Valdis.Kletnieks@xxxxxx> wrote:
>> On Sat, 06 Dec 2008 01:04:52 GMT, Américo Wang said:
>>> On Wed, Dec 3, 2008 at 5:29 PM, Geralt <usr.gentoo@xxxxxxxxxxxxxx> wrote:
>>> > Hello,
>>> >
>>> > I should have anticipated this objection :-). I'm aware that this is
>>> > not consistent among Unix operating systems (you can find more about
>>> > it here [1]), but I was specifically refering to linux in this case
>>> > and why it handles the shebang arguments as one big string and not as
>>> > single arguments for the application.
>>>
>>> I can't think out any strong reasons, maybe only becasue Linux developers
>>> prefer that approach.
>>
>> And of course, "whitespace" is a somewhat fungible concept. 'man bash'
>> and read about $IFS.
>>
> So you're saying that you can't do that because you don't know where
> to split the parameters, right? But would it be that bad to state a
> rule what "whitespace" is in the shebang line?
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/