[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