package main import ( "fmt" "strings" ) func RunTask(args ...string) error { name, args := ParseCommandName(args) // 从参数中解析出命令 switch name { case "", "help": return RunTaskHelp(args...) case "make": return RunTaskMake(args...) case "create": return RunTaskCreate(args...) case "list": return RunTaskList(args...) case "delete": return RunTaskDelete(args...) case "info": return RunTaskInfo(args...) case "upload": return RunTaskUpload(args...) case "download": return RunTaskDownload(args...) case "run": return RunTaskRun(args...) default: return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool task help' for usage`, name) } } func RunTaskHelp(args ...string) error { fmt.Println(strings.TrimSpace(taskUsage)) return nil } const taskUsage = ` Usage: saastoola task COMMAND [OPTIONS] Commands: make Make file hash for upload task create Create a task on server list List tasks on server run Run a task on server delete Delete a task on server info Get a task info on server upload Upload task's file block to server download Download task's file block to local "help" is the default command. Use "saastool task COMMAND -help" for more information about a command. `