命令行标志和命令

时间:2018-03-21 12:48:23

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

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

我们决定使用眼镜蛇去 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.   
  5. 单个命令是否应支持标志
  6.   
  7. 如果需要提供像deploy这样的命令,那么它应该是'deploy -x'
  8.   

1 个答案:

答案 0 :(得分:1)

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

如何设计应用程序的命令和标志取决于您。例如,如果要创建部署工具,可以创建命令" deploy"以及机器部署到的标志:"工具部署--machine = hostip"。