长选项样式是这样的
--key=value
这种语法可以很容易地扩展为类似数组的值
--key=value\ 1,value\ 2,value\ 3
如果每个项目都采用子选项,是否有标准方法?也就是说,当每个值都是复合类型时?
另一种选择是
--key=[object\ 1],[object\ 2],...
其中 object
具有指定为特殊 make_value
函数的语法。然后,查询 key
将给出一个 object
数组。用于指定 object
属性的语法可能看起来像 JSON 或其他东西。
另一种选择是完全放弃传统语法,并强制用户将整个命令行键入为 JSON 对象。
最佳答案
首先,GNU 系统上的标准不是这样的:
--key=value\ 1,value\ 2,value\ 3 // WRONG
但是这个:
--key=value\ 1 --key=value\ 2 --key=value\ 3
Bash中哪些可以这样写:
--key=value\ {1,2,3}
现在,如果您的值本身是键值对,则单个值的典型用法如下:
--key=value\ 1=42
或者对于 Bash 中的多个:
--key=value\ {1=42,2=300,3=0}
关于linux - 带有复合子选项的命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673920/