如何指定强制短选项或长选项的命令调用?

如何指定强制短选项或长选项的命令调用?

我正在为需要带有强制参数的-f/选项的工具编写规范,因此例如这些是有效的调用:--fooBAR

tool -f BAR
tool --foo BAR

如何在联机帮助页或其他正式定义的调用部分中指定此语法?

这意味着不需要这些选项,这不是我的意图:

tool [-f BAR | --foo BAR]

但简单地省略支架也没有意义,因为管道可能会被误认为是实际的壳管。

POSIX没有很长的选择,而且我也找不到 GNU 参考资料。

答案1

tool -f BAR | --foo BAR我认为将其解释为“将输出通过管道传输tool -f BAR到命令中”并不常见--foo BAR。所以我会简单地使用

tool -f BAR | --foo BAR

还有其他可能性使用额外的标记,特别是如果调用更复杂,以使其更加明显。与可选参数不同的[]是,它们都没有被普遍理解为强制论证,例如:

tool {-f BAR | --foo BAR}

或者

tool <-f BAR | --foo BAR>

乃至

tool (-f BAR | --foo BAR)

如果您想确保没有人误读调用规范,只需复制它:

tool -f BAR
tool --foo BAR

您将看到许多手册页和来自程序的帮助都使用这种多种方法,尽管它通常针对不同的调用而不是等效的调用。

相关内容