func bpwd(x *xEnv, args ...string) error { var err error if len(args) > 1 { err = errors.New("too many arguments") x.Eprintf("cd: %s", err) cmd.SetEnv("sts", err.Error()) } else { cmd.SetEnv("sts", "") } x.Printf("%s\n", cmd.Dot()) return nil }
func bwait(x *xEnv, args ...string) error { if len(args) == 1 { args = append(args, "") } for _, a := range args[1:] { bgcmds.wait(a) } cmd.SetEnv("sts", "") return nil }
func bfork(x *xEnv, args ...string) error { var err error for _, a := range args[1:] { switch a { case "ns": cmd.ForkNS() case "env": cmd.ForkEnv() case "dot": cmd.ForkDot() case "io": cmd.ForkIO() default: err = fmt.Errorf("%s unknown (not ns, env, dot)", a) x.Eprintf("cd: %s", err) cmd.SetEnv("sts", err.Error()) return nil } } cmd.SetEnv("sts", "") return nil }
func bcd(x *xEnv, args ...string) error { var err error switch len(args) { case 1: err = cmd.Cd(u.Home) case 2: d, derr := cmd.Dir(args[1]) if derr != nil { err = derr } else { err = cmd.Cd(d["path"]) } case 0: err = errors.New("missing argument") } if err != nil { x.Eprintf("cd: %s", err) cmd.SetEnv("sts", err.Error()) } else { cmd.SetEnv("sts", "") } return nil }