cobra-强大的CLI应用程序库】的更多相关文章

cobra介绍 Cobra是一个用于创建强大的现代CLI应用程序的库,也是一个用于生成应用程序和命令文件的程序. Cobra用于许多Go项目,如Kubernetes.Hugo和Github CLI等.此列表包含了使用Cobra的更广泛的项目列表. GitHub地址 https://github.com/spf13/cobra 概述 Cobra是一个库,提供了一个简单的界面来创建功能强大的现代CLI界面,类似于git&go工具. Cobra还是一个应用程序,它将生成您的应用程序框架以快速开发基于C…
紧接着上一篇,本文我们对go-admin下载后的源码进行分析. 首先对项目所使用的第三方库进行分析,了解作者使用的库是否是通用的官方库可以有助于我们更快地阅读程序.接着对项目的main()方法进行分析,因为程序使用cli的方式启动,对cli不同的命令进行分析.基于此俩点开始工作. go-admin中使用的第三方库 cobra 强大的cli封装,支持命令嵌套 cast 简单安全的类型转换 casbin 轻量级开源访问控制框架,采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制…
golang常用库:cli命令行/应用程序生成工具-cobra使用 一.Cobra 介绍 我前面有一篇文章介绍了配置文件解析库 Viper 的使用,这篇介绍 Cobra 的使用,你猜的没错,这 2 个库都是同一个作者 spf13,他开发了很多与 golang 相关的库,他目前在 google 领导着 golang 产品相关开发工作. Cobra 是关于 golang 的一个命令行解析库,用它能够快速创建功能强大的 cli 应用程序和命令行工具. 它被很多知名的项目使用,比如 Kubernetes…
背景 命令行界面交互开源工具 CloudBase CLI 自发布以来,受到了大量开发者的欢迎.近期,我们发布了新鲜打磨的 CloudBase CLI 1.0 Beta,引入了许多利于开发者的新特性,下面就来介绍一下 CloudBase CLI 的全新版本. CloudBase CLI 1.0 版本已经规划了许久,在此版本中,我们完全改变了命令的使用方法,简化了部分命令的长度,转向了更为通用的使用方法,这也是后期我们努力的方向:为用户提供更简单.更易用.更强大的 CLI 工具. 同时,CloudB…
简介 Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序.下面是Cobra使用的一个演示: Cobra提供的功能 简易的子命令行模式,如 app server, app fetch等等 完全兼容posix命令行模式 嵌套子命令subcommand 支持全局,局部,串联flags 使用Cobra很容易的生成应用程序和命令,使用cobra create appname和cobra add cmdname 如果命令输入错误,将提供智能建议,如 ap…
为什么使用命令行 大型项目中少不了数据升级,如果采用web服务,一来不够安全,二来数据量大的时候也会出超时的情况.这时使用命令行是比较合适的方式了. 命令行中的MVC web项目一般采用MVC模式,对于命令行有吗? 对于命令行则有command(命令)和flag(参数),golang自带了flag包,不过功能不够强大,这里我们使用第三方包cobra cobra 的使用 具体用法可以参考官方文档,我就不细说了. 妙用 按照官方的结构,不好实现自动注册,每次增加新的命令或文件夹不好管理,需要改动代码…
将cobra下载到 $GOPATH,用命令: go get -v github.com/spf13/cobra/cobra 然后使用 go install github.com/spf13/cobra/cobra, 安装后在 $GOBIN 下出现了cobra 可执行程序.如果你没有配置 $GOBIN,那么可以在$GOPATH/bin 下找到 cobra的可执行软件. cobra程序只能在GOPATH之下使用,所以首先你需要进入到GOPATH的src目录之下,在该目录下,输入: cobra ini…
python click 包是一个方便的cli 开发包,我们可以用来开发强大的cli 应用 使用venv 进行环境准备,示例代码来自官方 venv 环境准备 python3 -m venv demoapp 安装 pip install click 基本使用 代码 cli.py import click @click.command() @click.option("--count", default=1, help="Number of greetings.") @…
因为docker及Kubernetes都在用cobra库,所以记录一下. 自定义的地方,高红标出. root.go /* Copyright © 2019 NAME HERE <EMAIL ADDRESS> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You ma…
简介 cobra是一个命令行程序库,可以用来编写命令行程序.同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架.非常多知名的开源项目使用了 cobra 库构建命令行,如Kubernetes.Hugo.etcd等等等等. 本文介绍 cobra 库的基本使用和一些有趣的特性. 关于作者spf13,这里多说两句.spf13 开源不少项目,而且他的开源项目质量都比较高. 相信使用过 vim 的都知道spf13-vim,号称 vim 终极配置. 可以一键配置,对于我这样的懒人来说绝对是…