| Summary: | env in shebang won't accept more than 1 parameter | ||
|---|---|---|---|
| Product: | Busybox | Reporter: | Marius Dinu <m95d+git> |
| Component: | Other | Assignee: | unassigned |
| Status: | NEW --- | ||
| Severity: | enhancement | CC: | busybox-cvs |
| Priority: | P5 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
Busybox v1.36.0 When script interpreter path is unknown, it is common to use env as a "preloader" in the shebang: #!/bin/env -S <interpreter_without_path> <parameters> Busybox env does not support -S parameter. Without -S, tries to execute [interpreter and it's parameters] as a single filename. Example: Script starts with "#!/bin/env awk -f": execve("/usr/sbin/awk -f", ["awk -f", "/bin/ipcalc.sh"], 0xbe806d84 /* 16 vars */) = -1 ENOENT (No such file or directory) execve("/usr/bin/awk -f", ["awk -f", "/bin/ipcalc.sh"], 0xbe806d84 /* 16 vars */) = -1 ENOENT (No such file or directory) execve("/sbin/awk -f", ["awk -f", "/bin/ipcalc.sh"], 0xbe806d84 /* 16 vars */) = -1 ENOENT (No such file or directory) execve("/bin/awk -f", ["awk -f", "/bin/ipcalc.sh"], 0xbe806d84 /* 16 vars */) = -1 ENOENT (No such file or directory) Please add -S parameter to env. Thank you.