Inspired by BusyBox 9 years ago I wrote a multicall binary that you rename and manipulate to solve puzzles and learn to use the shell in the process. I should do more with it.
Thanks for this, been using busybox for ages and never thought about what it actually is.
Busybox is where I learned the multi-call technique of using argv[0] to simulate multiple commands in a single binary.
It works great for Rust binaries, which can get quite large. I had to rewrite some Python utilities (software updater, Wi-Fi network config, etc.) for a very constrained embedded system (64MB RAM) that couldn’t handle Python. So I built them all in a single multi-call binary. I believe `clap` has built-in support for it.
Also, Busybox has a lot of stuff built in that you’d never think of. It has a little vi built in. It has the full suite of ‘runit’ process supervisor utilities. And plenty more. It has a Kconfig system (like the kernel) where you can tune exactly which utilities you need and what features you need. Don’t need full output in ps? Turn it off. Don’t need tab completion? Pretty sure you can turn that off too. Always typing ‘dc’ instead of ‘cd’? Just don’t include dc.