I compiled busybox myself,and I put it in our embedded linux. But I have some questions.
Question 1:When I try to use some command such as gzip,it prints \"gzip: applet
[F.Y.I.] Shebang's typo caused me the same applet not found
error.
$ # The '!' was forgotten in shebang
$ cat sample.sh
#/bin/sh
echo 'hello world'
$ ./sample.sh
sample.sh: applet not found
In docker-compose, running the above script gives me the blow error:
standard_init_linux.go:211: exec user process caused "exec format error"
The answer to questions 1 and 2 is: you must set your PATH
variable first or compile busybox with FEATURE_PREFER_APPLETS
enabled. You can set the PATH
variable with:
$ export PATH=/bin:/sbin:/usr/bin:/usr/sbin
A busybox applet is a small application that is usually found in the UNIX common utilities (defined in the POSIX standard). This applets are compiled into a single executable: busybox
.