Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Sep 2004 14:05:18 +0200
From:      =?iso-8859-2?q?S=B3awek_=AFak?= <zaks@prioris.mini.pw.edu.pl>
To:        Ryan Sommers <ryans@gamersimpact.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Bug in #! processing
Message-ID:  <86is9wx8qp.fsf@thirst.unx.era.pl>
In-Reply-To: <415AB9BF.1070003@gamersimpact.com> (Ryan Sommers's message of "Wed, 29 Sep 2004 08:33:51 -0500")
References:  <861xgm5ltz.fsf@thirst.unx.era.pl> <20040928194853.GT2493@submonkey.net> <86k6ud2t6t.fsf@thirst.unx.era.pl> <20040929131136.GA2493@submonkey.net> <415AB9BF.1070003@gamersimpact.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Ryan Sommers <ryans@gamersimpact.com> writes:

> Ceri Davies wrote:
>
>> That seems wrong too. #! shouldn't be magic anywhere other than at the
>>
>>beginning of a file.
>>
>>
> I haven't looked at the code yet, on my list, but I'm guessing this was done to
> avoid a possible circular reference.

    What circular reference? Could you elaborate? The algorithm goes like this:

    1. skip all space till #!
    2. skip #! and read path for the interpreter
    3. find and split arguments
    4. invoke intepreter with it's path at argv[0], arguments at subsequent
       positions and append path to the script at the end.

    That's it, modulo : and no interpreter path at all in the script as legacy
    which is a special case anyway.

/S    



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86is9wx8qp.fsf>