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 Create data file to task list List tasks on server run Run task on server delete Delete task on server info Get task info on server upload Upload file block to server "help" is the default command. Use "saastool task COMMAND -help" for more information about a command. `