// cmds: handles system commands package cmds import "strings" // Eval: evaluates a provided string into a command // if it can't find the command or the arguments are incorrect // returns an error func Eval(cmd string) error { args := strings.Split(cmd, " ") switch args[0] { case "cd": if err := chDir(args); err != nil { return err } break case "export": if err := export(args); err != nil { return err } break case "unset": if err := unset(args); err != nil { return err } break case "set": if len(args) > 1 { set(args) } else { printEnv() } break case "exit": if err := exit(args); err != nil { return err } break case ":": return nil } return nil }