123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- package main
- import (
- "fmt"
- "surdeus.su/core/cli/mtool"
- "surdeus.su/util/bb/tool/cat"
- "surdeus.su/util/bb/tool/date"
- "surdeus.su/util/bb/tool/ec"
- "surdeus.su/util/bb/tool/echo"
- "surdeus.su/util/bb/tool/ftest"
- "surdeus.su/util/bb/tool/grange"
- "surdeus.su/util/bb/tool/in"
- "surdeus.su/util/bb/tool/ln"
- "surdeus.su/util/bb/tool/ls"
- "surdeus.su/util/bb/tool/mergelbl"
- "surdeus.su/util/bb/tool/mkdir"
- "surdeus.su/util/bb/tool/paths"
- "surdeus.su/util/bb/tool/quote"
- "surdeus.su/util/bb/tool/read"
- "surdeus.su/util/bb/tool/sort"
- "surdeus.su/util/bb/tool/tac"
- "surdeus.su/util/bb/tool/uniq"
- "surdeus.su/util/bb/tool/urlprs"
- "surdeus.su/util/bb/tool/useprog"
- "surdeus.su/util/bb/tool/wc"
- "surdeus.su/util/bb/tool/whoami"
- "surdeus.su/util/bb/tool/yes"
- "os"
- )
- var root = mtool.T("bb").Subs(
- mtool.T("cat").Func(cat.Run).Desc(
- "concatenate files",
- ).Usage(
- "[file1 file2 ...fileN]",
- ),
- mtool.T("mkdir").Func(mkdir.Run).Desc(
- "make new directories",
- ).Usage(
- "<dir1 [dir2 dir3 ...dirN]>",
- ),
- mtool.T("echo").Func(echo.Run).Desc(
- "print strings",
- ).Usage(
- "[str1 str2 ...strN]",
- ),
- mtool.T("true").Func(func(flags *mtool.Flags) {
- os.Exit(0)
- }).Desc("exit successfuly"),
- mtool.T("false").Func(func(flags *mtool.Flags) {
- os.Exit(1)
- }).Desc("exit with failure"),
- mtool.T("sort").Func(sort.Run).Desc(
- "sort strings",
- ),
- mtool.T("tac").Func(tac.Run).Desc(
- "reversed cat",
- ),
- mtool.T("ls").Func(ls.Run).Desc(
- "list files",
- ).Usage(
- "[fileDir1 fileDir2 ...fileDirN]",
- ),
- mtool.T("yes").Func(yes.Run).Desc(
- "repeat string",
- ),
- mtool.T("date").Func(date.Run).Desc(
- "print date",
- ),
- mtool.T("uniq").Func(uniq.Run).Desc(
- "filter repeated strings",
- ),
- mtool.T("quote").Func(quote.Run).Desc(
- "quote strings with spaces",
- ),
- mtool.T("urlprs").Func(urlprs.Run).Desc(
- "parse URL",
- ),
- mtool.T("read").Func(read.Run).Desc(
- "read lines",
- ),
- mtool.T("ec").Func(ec.Run).Desc(
- "render escape characters",
- ),
- mtool.T("lbl").Func(mergelbl.Run).Desc(
- "merge files line by line",
- ),
- mtool.T("ftest").Func(ftest.Run).Desc(
- "filter files",
- ),
- mtool.T("wc").Func(wc.Run).Desc(
- "word, rune, byte counts",
- ),
- mtool.T("range").Func(grange.Run).Desc(
- "print num range",
- ),
- mtool.T("in").Func(in.Run).Desc(
- "print only strings that are in arguments",
- ),
- mtool.T("which").Func(useprog.Run).Desc(
- "print path to executable",
- ),
- mtool.T("whoami").Func(whoami.Run).Desc(
- "print your username",
- ),
- mtool.T("ln").Func(ln.Run).Desc(
- "link files",
- ),
- mtool.T("paths").Func(paths.Run).Desc(
- "print different parts of paths",
- ),
- mtool.T("env").Func(func(flags *mtool.Flags) {
- flags.Parse()
- envs := os.Environ()
- for _, env := range envs {
- fmt.Println(env)
- }
- }).Desc(
- "print all the environment variables",
- ),
- ).Desc(
- "not POSIX compatible BusyBox utilities",
- ).Ldesc(`
- The program is not supposed to be a "BusyBox killer.".
- In fact it just has better options for Surdeus's scripts.
- `)
- func main() {
- root.Run(os.Args[1:])
- }
|