| Summary: | /usr/bin/env: endless loop if VAR=ASSIGN present | ||
|---|---|---|---|
| Product: | Busybox | Reporter: | Steffen Nurpmeso <steffen> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED INVALID | ||
| Severity: | normal | CC: | busybox-cvs |
| Priority: | P5 | ||
| Version: | 1.28.x | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
|
Description
Steffen Nurpmeso
2018-03-29 14:51:23 UTC
This construct does not do what you expect. 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". |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@devon shared]$ ./t.sh hoho KADABRA haha ?0[steffen@devon shared]$ cat t.sh #!/usr/bin/env ABRA=KADABRA sh echo hoho $ABRA haha ?0[steffen@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 $ Much better, but not standard, unfortunately. --steffen |