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>