- Notifications
You must be signed in to change notification settings - Fork0
lesiw/buzzybox
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
buzzybox
is a multicall binary likebusybox
that brings a subset of shellutilities to multiple platforms. It can be run as a standalone program(buzzybox
) or imported as a library (lesiw.io/buzzybox/hive
).
- Written in amemory safe language.
- Uses onlyGo Projectdependencies.
- Compatible withtinygo.
- Open-sourced under apermissive license.
go install lesiw.io/buzzybox@latest
echo"hello embedded world"| buzzybox awk'{ print $1, $3 }'
ln -s"$(which buzzybox)" awkecho"hello embedded world"| ./awk'{ print $1, $3 }'
package mainimport ("strings""lesiw.io/buzzybox/hive")funcmain() {cmd:=hive.Command("awk","{ print $1, $3 }")cmd.Stdin=strings.NewReader("hello embedded world")cmd.Run()}
echo"hello embedded world"| docker run -i lesiw/buzzybox awk'{ print $1, $3 }'
One of the following:
- The app is defined in the POSIX standard.
- The app isn’t in POSIX, but is found in multiple *nix environments, likeMacOS, busybox, and at least one major non-busybox Linux distribution. (
tar
is a good example of a non-POSIX utility that is near-ubiquitous.)
And all of the following:
- Orthogonal: the appsolves a problem that cannot reasonably be solved by using the existing appsin combination.
App | Linux | Windows | MacOS | TinyGo |
---|---|---|---|---|
arch | ✅ | ✅ | ✅ | ✅ |
awk | ✅ | ✅ | ✅ | ✅ |
base64 | ✅ | ✅ | ✅ | ✅ |
basename | ✅ | ✅ | ✅ | ✅ |
cat | ✅ | ✅ | ✅ | ✅ |
false | ✅ | ✅ | ✅ | ✅ |
true | ✅ | ✅ | ✅ | ✅ |