From: Linus Torvalds Date: Mon, 02 May 2005 16:31:06 GMT Subject: Re: Mercurial 0.4b vs git patchbomb benchmark Message-ID: In-Reply-To: <42764C0C.8030604@tmr.com> On Mon, 2 May 2005, Bill Davidsen wrote: > > -#!/usr/bin/python > > +#!/usr/bin/env python > Could you explain why this is necessary or desirable? I looked at what > env does, and I am missing the point of duplicating bash normal > behaviour regarding definition of per-process environment entries. It's not about environment. It's about the fact that many people have things like python in /usr/local/bin/python, because they compiled it themselves or similar. Pretty much the only path you can _really_ depend on for #! stuff is /bin/sh. Any system that doesn't have /bin/sh is so fucked up that it's not worth worrying about. Anything else can be in /bin, /usr/bin or /usr/local/bin (and sometimes other strange places). That said, I think the /usr/bin/env trick is stupid too. It may be more portable for various Linux distributions, but if you want _true_ portability, you use /bin/sh, and you do something like #!/bin/sh exec perl perlscript.pl "$@" instead. Linus