go-cmd

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2023 License: MIT

README

go-cmd

配置、解析命令行参数,匹配一个具体的Command。

此模块中实现了config的打印、校验、交互模式命令。

import (
  _ "github.com/xpwu/go-cmd/cmd/interactive"
  _ "github.com/xpwu/go-cmd/cmd/printconf"
  _ "github.com/xpwu/go-cmd/cmd/validconf"
)

在import模块中用如上的方式引入,即可使用需要的默认命令。

Usage

RegisterCmd

在init()中使用 RegisterCmd 注册命名,如果需要命令行参数,可以通过 args 解析。
参数的解析方式为:(顺序不可改变)
1、定义接收数据的参数及默认值;
2、使用Arg相应类型的函数,设置参数;
3、调用Arg.Parse()即可获取到参数。

arg.ReadConfig(xxx)

实现了读取配置文件相关的arg解析及json格式的配置文件读取,
使用方式:

// 可以添加其他的参数解析命令
arg.ReadConfig(arg)
// 可以添加其他的参数解析命令
arg.Parse()

// 配置读取成功
DefaultCommand

使用 DefaultCmdName 即可注册默认命令

main

在main()的最后执行 cmd.Run() 方法,此方法需要在main()中执行, 而不能在init()中执行,1、init()主要负责收集;2、如果用到config, init()时还没有读取到config值

Note

1、因为命令名不能重名,所以代码中指定的命令名有可能被修改,以 -h 输出的命令名为准;
2、DefaultCmdName 的名字不会修改

Else

exe

可以获取执行文件的 绝对路径 、 名字

client-cli

可以添加服务程序的交互式访问的客户端,
调用clientcli.Listen(xxx)函数即可。

  • 使用:
    1、启动服务;2、使用 './xxx client' 命令启动此服务的客户端模式,即可通信。

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL