首页 > 解决方案 > 如何从 make 命令 cobra 中获取 2 个标志

问题描述

如何创建一个包含 2 个参数的 makefile?myapp 用 go 编写,使用 cobra cli。有一个接受 2 个参数(标志)的命令。

这行得通

$ go build; myapp mycmd --flag1=myvalue1 --flag2=myvalue2

在我的制作文件中,我有

//makefile
run:
    @echo Building and Running
    $(GO) build -i -o myapp .
    ./myapp start $(ARGS)

所以在 CLI 中,当我尝试

$ make run ARGS=--flag1=arg1--flag2=arg2
or
$ make run ARGS=--flag1=arg1,--flag2=arg2

不读入标志值我如何读入 2 个标志值,它似乎只读入 1 个标志值。

标签: gogo-cobraviper-go

解决方案


使运行 ARGS=--flag1=arg1--flag2=arg2

标志之间没有分隔符

使运行 ARGS=--flag1=arg1,--flag2=arg2

Cobra 不使用 ',' 作为默认标志分隔符。

尝试:
make run ARGS='--flag1=arg1 --flag2=arg2'

尝试针对我自己的眼镜蛇 CLI,效果很好。


推荐阅读