- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我希望能够设置 Usage
行来指定如果在 Go 中的 cobra 命令上调用帮助函数,则需要传递一个参数。
这是常规帮助标志输出的内容:
Cancel the order specified by the order id by submitting a cancel order.
Optionally, an account ID may be supplied as well for extra measure.
Usage:
gbutil orders cancel [flags]
Flags:
-a, --account_id string the account id that the order belongs to
-h, --help help for cancel
Global Flags:
--config string config file (default is $HOME/.gbutil.yaml)
我要:
Cancel the order specified by the order id by submitting a cancel order.
Optionally, an account ID may be supplied as well for extra measure.
Usage:
gbutil orders cancel <order_id> [flags]
Flags:
-a, --account_id string the account id that the order belongs to
-h, --help help for cancel
Global Flags:
--config string config file (default is $HOME/.gbutil.yaml)
我曾尝试在 init()
函数中使用 SetUsageTemplate
但随后它删除了部分标志:
orderscancelCmd.SetUsageTemplate(strings.Replace(orderscancelCmd.UsageString(), "gbutil orders cancel [flags]", "gbutil orders cancel <order_id> [flags]", 1))
这导致:
Cancel the order specified by the order id by submitting a cancel order.
Optionally, an account ID may be supplied as well for extra measure.
Usage:
gbutil orders cancel <order_id> [flags]
Flags:
-a, --account_id string the account id that the order belongs to
我丢失了 -h
标志和关于 Global Flags
的附加信息。
如果他们不提供 arg,我可以让它工作:
if err := cobra.ExactArgs(1)(cmd, args); err != nil {
fmt.Println(strings.Replace(cmd.UsageString(), "gbutil orders cancel [flags]", "gbutil orders cancel <order_id> [flags]", 1))
return
}
但是 -h
标志仍然输出错误的用法行。
有没有办法做到这一点?提前致谢!
最佳答案
更改用法名称的外观。您可以在 cobra.Command.Use
参数中传递它。所以对你来说它可能看起来像这样:
var cmdCancel = &cobra.Command{
Use: "cancel <order_id>",
Args: cobra.ExactArgs(1), // make sure that only one arg can be passed
// Your logic here
}
关于go - Cobra 更改帮助模板中的用法行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54584221/
Cobra 库中是否有内置工具(如果有,我该如何使用它?)来要求标志是多个值之一,并在标志不是允许值之一时抛出错误?我没有在 Github 页面上看到这个。 最佳答案 Cobra 允许您通过 pfla
我希望能够设置 Usage 行来指定如果在 Go 中的 cobra 命令上调用帮助函数,则需要传递一个参数。 这是常规帮助标志输出的内容: Cancel the order specified by
我正在使用 cobra 构建 CLI,并希望模拟使用不同的选项/标志集运行的命令。我一直在努力弄清楚如何使用 cobra API 在我的测试中设置标志,但还没有真正弄明白。 我有这个: // NewF
如果没有传递参数或标志,我希望子命令打印出帮助菜单(主命令默认执行此操作)。 例如,没有任何参数或标志的主命令: chris@pop-os:~$ ./tk Command line applicati
我有下面的代码,真的很简单。关键是第一个 fmt.Println 之后的代码永远不会执行。知道为什么吗? 该代码创建一个随机字符串,然后创建一个 Gin 路由器。执行路由器的代码永远不会运行。 fun
我是一名 Go 初学者,我正在尝试使用 Cobra 创建一个 CLI .为了引导项目,我使用了 Cobra Generator ,生成了一个命令,一个子命令,一切正常。 我现在有这种类型的布局: cl
我是一名 Go 初学者,我正在尝试使用 Cobra 创建一个 CLI .为了引导项目,我使用了 Cobra Generator ,生成了一个命令,一个子命令,一切正常。 我现在有这种类型的布局: cl
我有一个 go 项目的空目录,只有 go.mod在场(我已运行 go mod init 命令) ▶ cat go.mod module github.com/myorganization/mytool
我指的是 spf13/cobra . 我使用 go get github.com/spf13/cobra/cobra 下载了 cobra 包,并在我的程序中导入了 "github.com/spf13/
我想用 cobra 创建 golang CLI .目前,它运行良好。我创建了类似 foobar create --username johndoe 的东西。但我需要像 foobar create us
Cobra 和 Viper 中的文档让我感到困惑。我执行了 cobra init fooproject,然后在项目目录中执行了 cobra add bar。我有一个名为 foo 的 Persisten
我无法同时使用 Cobra 和 Viper。这就是我正在做的事情: var options util.Config = util.Config{} var rootCmd = &cobra.Comma
此示例 Cobra 应用程序,https://github.com/kurtpeek/myCobraApp , 包含一个使用 Cobra 生成器搭建的 Cobra 应用程序,其中包含以下命令: cob
我想在我正在构建的 cli 工具中选择以下 cmd 调用 go使用 cobra : $ mytool envs apps compare $ mytool envs vars compare 因此,我
我正在使用 cobra 构建 CLI。 我想创建一个名为 config 的新命令,它将位于文件 config.go 和文件夹 proxy 中。 这是结构: MyProject ├── cmd | ├
Cobra 和 Lobo 项目结束了吗? http://lobobrowser.org/cobra.jsphttp://lobobrowser.org/java-browser.jsp A. 最佳答案
抱歉,我找不到使用示例的方法 ./client echo --times 10 "coucou" ./client --times 10 "coucou" echo 无法使用它...抱歉我的错误。
在下面的代码中,我定义了一个命令,其中有两个选项是可能的:1. myapp 信息 --flag1 文本2.我的应用程序信息--flag2如果没有指定这两个选项,我想显示 helpCommand var
基本信息:我创建了一个 go 应用程序并使用了 Cobra。 Cobra 使用 Viper 作为命令行参数和标志。 我有一个带有标志绑定(bind)的命令监听,我想在 yaml 文件中配置它。 代码:
我正在使用 Go 开发一个 Web 应用程序。到目前为止一切顺利,但现在我将 Wercker 集成为 CI 工具并开始关心测试。但我的应用程序严重依赖 Cobra/Viper 配置/标志/环境变量方案
我是一名优秀的程序员,十分优秀!