# argv Cli 命令解析工具 - 支持标记、参数、位置参数三种输入。建议用法:标记和参数可以认为带有默认值,位置参数不带有默认值。位置参数又分为<必须>和[可选]两种,<必须>参数需要在[可选]参数前面。 - 支持输出 help - 支持命令参数转发。即将 --- 之后的命令完全转发给其他命令,兼容其他形式的参数格式。 java 版本:https://github.com/CheneyWong/argv.java ## 使用示例 1. 最简使用 ```shell function main() { // 注册命令 const { CliCmdParser } = require("./index") const parser = new CliCmdParser("测试程序"); parser.addCmdLine("version", "查看版本"); parser.addCmdLine("help", "查看帮助"); // 解析用户输入命令 let cmd = parser.parse(args); // 执行命令 if ("help".equals(cmd.getCmd())) { // 辅助打印命令提示符 System.out.println(parser.help()); } else { // 其他命令执行需自行实现 System.out.println(cmd); } } ``` 2. 添加一个待参数的命令 ```shell parser.addCmdLine("config [value]", "查询/设置配置"); ``` ``` [] 表示可选参数 <> 表示必选参数 ``` 在程序中获取参数 ```shell String key = line.getParamValue("key"); String value = line.getParamValue("value"); ``` 获取程序时附带默认值 ```shell String value = line.getParamValue("value", "xxx"); ``` 3. 增加一个参数标记 ```shell parser.addCmdLine("tcp <--ip> <--port> <--headlen> [--timeout] ", "tcp 报文发送"); ``` ``` [] 表示可选参数 <> 表示必选参数 - 表示标记,即无值属性 -- 表示属性 ``` - 必选参数必须在可选参数前面 # TODO - [x] getParamValue 基本类型自动转换 - [ ] 可选参数 # 暂时无法实现 - [x] 参数说明,因为参数中目前不能有空格。 - [x] 参数默认值,因为参数中目前不能有空格。临时方法,在代码中实现。 ## 使用 ### Maven ``` club.fullstack 1.0-SNAPSHOT argv ```