我正在使用urfave/cli在 Go 中構(gòu)建 CLI 應(yīng)用程序。我想要的是在第一個(gè)命令之后給出的選項(xiàng)被視為參數(shù)而不是標(biāo)志(以便我可以自己處理它們或?qū)⑺鼈儌鬟f給其他可執(zhí)行文件)。使用時(shí)app.Action(見(jiàn)下文),這是我得到的行為,但如果我使用,cli.Commands則會(huì)出現(xiàn)錯(cuò)誤。package mainimport (? ? "fmt"? ? "github.com/urfave/cli"? ? "log"? ? "os")func main() {? ? app := cli.NewApp()? ? app.Commands = []cli.Command{? ? ? ? {? ? ? ? ? ? Name:? ? "test",? ? ? ? ? ? Action:? func(c *cli.Context) error {? ? ? ? ? ? ? ? fmt.Println("test", c.Args())? ? ? ? ? ? ? ? return nil? ? ? ? ? ? },? ? ? ? },? ? }? ? app.Action = func(c *cli.Context) error {? ? ? ? fmt.Println(c.Args())? ? ? ? return nil? ? }? ? err := app.Run(os.Args)? ? if err != nil {? ? ? ? log.Fatal(err)? ? }}輸出:go run main.go cmd -f flag:[cmd -f flag]但go run main.go test cmd -f flag退出時(shí)出現(xiàn)錯(cuò)誤,我希望它輸出test [cmd -f flag]
如何將標(biāo)志作為 urface/cli 命令的參數(shù)傳遞?
翻翻過(guò)去那場(chǎng)雪
2023-06-26 17:18:04