[英]How to pass flag values to subcommands in golang urfave cli
我在https://github.com/urfave/cli上使用urfave創建帶有兩個子命令的CLI。 我可以使用子命令創建CLI,但是我真的不知道如何定義標志。 全局標志和局部標志有什么區別?
每個命令可以選擇指定一個“子命令”。 子命令的類型為Command
,它允許將命令嵌套/組合在一起。
要達到以下目的:
cli-tool command1 command2 --command2flag
您可能具有以下命令結構:
app := &cli.App{
//...
Commands: []*cli.Command{
{
Name: "command1",
Usage: // ...
Action: //...
SubCommand: []cli.Command{
{
Name: "command2"
Flags: []cli.Flag{
cli.StringFlag{
Name: "command2flag"
// ...
},
},
},
},
},
//...
}
您可以在此處看到command2嵌套在command1的子命令中。 並且command2的標志僅適用於command2。 這是本地標志的示例。
全局標志將應用於每個命令和子命令。 這對於cli工具可能需要用於所有命令的某種配置很有用。 例如要交談的服務器地址等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.