I am using urfave at https://github.com/urfave/cli to create a CLI with two subcommands. I am able to create a CLI with a subcommand, but I really have no idea how to define the flags. What's the difference between the global flag and local flag?
1条回答 默认 最新
- douyingzhan5905 2019-02-27 08:07关注
Each command can optionally specify a 'subcommand'. The subcommand is of type
Command
, which allows for nested / composing commands together.To achieve something like:
cli-tool command1 command2 --command2flag
you could have a commands structure like:
app := &cli.App{ //... Commands: []*cli.Command{ { Name: "command1", Usage: // ... Action: //... SubCommand: []cli.Command{ { Name: "command2" Flags: []cli.Flag{ cli.StringFlag{ Name: "command2flag" // ... }, }, }, }, }, //... }
You can see here that command2 is nested in command1's subcommands. And the flags for command2 will only apply to command2. This is an example of a local flag.
Global flags would apply to every command and subcommand. This could be useful for somekind of config that the cli tool might need to use for all commands. e.g. the server address to talk to etc.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 io.jsonwebtoken.security.Keys
- ¥15 急,ubuntu安装后no caching mode page found等
- ¥15 联想交换机NE2580O/NE1064TO安装SONIC
- ¥15 防火墙的混合模式配置
- ¥15 Ubuntu不小心注销了要怎么恢复啊
- ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
- ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
- ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
- ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
- ¥15 python怎么在已有视频文件后添加新帧