[Bug 10906] /usr/bin/env: endless loop if VAR=ASSIGN present
Denys Vlasenko
vda.linux at googlemail.com
Fri Mar 30 21:17:02 UTC 2018
On Thu, Mar 29, 2018 at 11:18 PM, <bugzilla at busybox.net> wrote:
> https://bugs.busybox.net/show_bug.cgi?id=10906
>
> --- Comment #2 from Steffen Nurpmeso <steffen at sdaoden.eu> ---
> |This construct does not do what you expect.
>
> Ok, but i think it is still a problem that this loops with 100%
> percent CPU usage, endlessly.
>
> |Everything after #! goes into argv[1]:
> |
> |argv[0]='/usr/bin/env'
> |argv[1]='ABRA=KADABRA sh'
> |argv[2]='./script'
> |
> |and argv[2] is script's name. Thus, it won't work with any implementaion of
> |"env".
>
> Isn't that a pity, what a terrible restriction, it would be so
> nice to use. (At least perl has this -x ... "#!perl" mechanism so
> that no wrapper is needed at least there.)
>
> And, not all env(1):
>
> ?0[steffen at devon shared]$ ./t.sh
> hoho KADABRA haha
> ?0[steffen at devon shared]$ cat t.sh
> #!/usr/bin/env ABRA=KADABRA sh
> echo hoho $ABRA haha
> ?0[steffen at devon shared]$ strings /usr/bin/env
> usage: env [-i] [name=value ...] [utility [argument ...]]
> $FreeBSD: src/usr.bin/env/env.c,v 1.11 2002/09/04 23:28:59 dwmalone Exp $
It's not about _env_. It's how _kernel_ handles this form of sha-bang.
More information about the busybox-cvs
mailing list