【问题标题】:Command line flags and commands命令行标志和命令
【发布时间】:2018-03-21 12:48:22
【问题描述】:

我需要开始使用命令行工具,我有几个问题

我们决定使用 cobra 进行围棋 https://github.com/spf13/cobra

来自帮助:

$ cobra help

Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.

Usage:
  cobra [command]

Available Commands:
  add         Add a command to a Cobra Application
  help        Help about any command
  init        Initialize a Cobra Application

Flags:
  -a, --author string    author name for copyright attribution (default "YOUR NAME")
      --config string    config file (default is $HOME/.cobra.yaml)
  -h, --help             help for cobra
  -l, --license string   name of license for the project
      --viper            use Viper for configuration (default true)

Use "cobra [command] --help" for more information about a command.

我的问题是:

  1. 命令和标志(可用命令)语义之间的关系/差异是什么……。
  2. 命令和标志之间是否存在关系
  3. 单个命令是否应该支持标志
  4. 如果需要向 x 提供类似 deploy 之类的命令,应该是“deploy -x”

【问题讨论】:

  • 1.命令是命令(如 foo)并标记一个标志(如 --foo)。 2. 不。是的命令有标志。 3. ??? 4. ??? (口味问题)。

标签: go command-line command-line-interface


【解决方案1】:

一个命令告诉应用程序做什么,例如“tool sayhello”。标志用于传递应用程序完成其任务所需的信息,例如“tool sayhello --message='Hello World'”。通常使用第一个字母和一个连字符来缩短标志。

如何设计应用程序的命令和标志取决于您。例如,如果你想创建一个部署工具,你可以创建一个命令“deploy”和一个用于部署机器的标志:“tool deploy --machine=hostip”。

【讨论】:

  • 所以你的意思是“机器”应该是--flag
  • 在我的例子中,是的。但我现在不是你的实际目标:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
  • 2014-08-13
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多