Exemplo n.º 1
0
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
}
Exemplo n.º 2
0
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
}
Exemplo n.º 3
0
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
}
Exemplo n.º 4
0
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
}