要求至少一个可选参数的 POSIX 使用标准

要求至少一个可选参数的 POSIX 使用标准

因此,我正在为 API 编写 CLI,并且遇到了一个问题,其中一个命令support有两个可选参数,id并且fields

我想知道如何证明这些参数是可选的,但是,您必须至少提供其中一个,甚至两者都提供。我不知道如何用谷歌搜索来表达,所以我没能找到任何东西。我最好的猜测是类似的Usage: support [id=...]||[fields=...],但我想知道标准。

答案1

POSIX 没有任何关于如何记录命令的内容,我所知道的任何标准也没有。

一种常见的约定是列出两个单独的命令行,一个带有id,一个带有fields

support id=… [OPTION…]
support fields=… [OPTION…]

或者,您可以使用{id|fields}来指示可以指定其中一个(但不能同时指定两者)。当命令行的其余部分相同时,这很有用,以避免重复所述其余部分。另一方面,它的可读性稍差。

support {id=NAME|fields=FIELD1,FIELD2} [OPTION]…

示例:cpio下面的手册页自由BSD,索拉里斯,Linux-i对不同模式使用不同的线路(通过、-o和之间的选择来指示-p)。也是如此POSIX本身。 Linux 手册页用于{-i|--extract}指示可以使用-i或;--extract我发现 FreeBSD 手册页中没有其他选择的大括号的使用很奇怪。

相关内容