我需要开始使用命令行工具,我几乎没有问题
我们决定使用眼镜蛇去 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.
我的问题是:
- 命令和标志(可用命令)之间的关系/差异是什么语义....
- 命令和标志之间是否存在关系
- 单个命令是否应支持标志
- 如果需要提供像deploy这样的命令,那么它应该是'deploy -x'
醇>
答案 0 :(得分:1)
命令告诉应用程序要做什么,例如"工具sayhello"。标志用于传递应用程序所需的信息以实现其任务,例如"工具sayhello --message =' Hello World'"。通常使用第一个字母和一个连字符来缩短标志。
如何设计应用程序的命令和标志取决于您。例如,如果要创建部署工具,可以创建命令" deploy"以及机器部署到的标志:"工具部署--machine = hostip"。