1

我正在构建一个可以调用其他底层程序的 CLI,这些程序有自己的选项和参数。我希望能够通过 CLI 将这些选项传递给程序。

$ cli --program [PROGRAM] --programOpts[OPT1, OPT2, ...]

例子:

$ cli --program foo --programOpts.bar 'foo' --programOpts.foo 'bar'

^ 在这种情况下barfooinprogramOpts是未知的cli。CLI 只知道programOpts并且它是特定于被调用的底层程序的未知选项向量。

我希望 Clap 有一个 API 来实现这样的事情(查看Argand ArgGroup),但它看起来不像。

有这样的API吗?

4

1 回答 1

1

经过进一步的研究,我决定走一条稍微不同的道路,而是利用已知的 UNIX--语法。

这意味着后面的所有选项和标志都--将传递给底层程序:

$ cli --program [PROGRAM] -- foo bar --bazinga --yay=w00t

这可以使用 Clap.raw()在 Arg 结构上的配置来完成。

于 2019-01-23T20:37:18.197 回答