如果没有传递参数或标志,我希望sub命令打印出Help菜单(main命令默认执行此操作).
例如,没有任何参数或标志的主命令:
chris@pop-os:~$ ./tk
Command line application to deploy
Usage:
tk [command]
Available Commands:
addon Install packages
cluster Used to create cloud infrastructures
help Help about any command
Flags:
--config string config file (default is $HOME/.tk8.yaml)
-h, --help help for tk
-t, --toggle Help message for toggle
Use "tk [command] --help" for more information about a command.
Run Code Online (Sandbox Code Playgroud)
如果没有输入参数或标志,我想像"tk addon"这样的子命令也返回它自己的帮助菜单,目前它只给出一个空行.
插件代码:
var addonCmd = &cobra.Command{
Use: "addon",
Short: "Install addon packages",
Long: `Install additional packages`,
Run: func(cmd *cobra.Command, args []string) {
}
},
}
Run Code Online (Sandbox Code Playgroud)
Pav*_*kov 12
可以检查程序传递的参数数量.如果有更多的0args你会做实际的工作,但如果少,那么你只需要显示命令的"帮助".
var addonCmd = &cobra.Command{
Use: "addon",
Short: "Install addon packages",
Long: `Install additional packages`,
Run: func(cmd *cobra.Command, args []string) {
if len(args) == 0 {
cmd.Help()
os.Exit(0)
}
// do actual work
},
}
Run Code Online (Sandbox Code Playgroud)