12345678910111213141516171819202122232425262728293031323334353637 |
- package mkdir
- import (
- "fmt"
- "os"
- "path/filepath"
- "surdeus.su/core/cli/mtool"
- )
- func Run(flagSet *mtool.Flags) {
- var (
- parentFlag bool
- modeArg int
- )
- flagSet.BoolVar(&parentFlag, "p", false, "No error if existing, make parent as needed.")
- flagSet.IntVar(&modeArg, "m", 0766, "Set file `mode`.")
- flagSet.Parse()
- args := flagSet.Args()
- if len(args) == 0 {
- flagSet.Usage()
- os.Exit(1)
- }
- mode := os.FileMode(modeArg)
- for _, path := range args {
- var e error
- pth := filepath.FromSlash(path)
- if parentFlag {
- e = os.MkdirAll(pth, mode)
- } else {
- e = os.Mkdir(pth, mode)
- }
- if e != nil {
- fmt.Fprintf(os.Stderr, "%s\n", e)
- }
- }
- }
|