package main import ( "fmt" "log/slog" "strings" ) func RunTask(args ...string) error { name, args := ParseCommandName(args) // 从参数中解析出命令 switch name { case "", "help": return RunTaskHelp(args...) case "create": return RunTaskCreate(args...) case "list": return RunTaskList(args...) case "delete": return RunTaskDelete(args...) case "info": return RunTaskInfo(args...) default: err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool task help' for usage`, name) slog.Warn(err.Error()) return err } } func RunTaskHelp(args ...string) error { fmt.Println(strings.TrimSpace(taskUsage)) return nil } const taskUsage = ` Usage: saastoola task COMMAND [OPTIONS] Commands: create upload Read user's 'bytes / uint32s / flags' run delete info "help" is the default command. Use "saastool task COMMAND -help" for more information about a command. `