簡體   English   中英

如何在Golang urfave CLI中將標志值傳遞給子命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM