在互斥选项列表附近使用{}是否有某种标准或约定?
当我遇到您的问题时,我正在研究大括号({})中指定的选项与方括号([])中指定的选项的含义的重要性。这是我发现对寻求理解有用的唯一信息来源,即为什么用花括号表示选项。
如您所写:
我完全理解在这种情况下,这意味着必须给它们中的一个。
阅读netstat的手册页后,我了解到,这些选项是可用于命令的选项,这些命令必须在使用该命令可能列出的任何其他选项之前使用/声明,并且仅列出的选项之一可以使用竖线分隔。
上面的示例可以在netstat命令的手册页中找到:
netstat {--route | -r} [address_family_options] [--extend | -e [-extend | -e]] [--verbose | -v] [--numeric | -n] [--numeric-hosts ] [-数字端口] [-数字端口] [-连续| -c] [延迟]
来源:netstat(8)| Linux手册页
本质上,可以使用--route或-r(它们表示相同的意思)之一,但是该选项必须位于其他列出的选项之前。
我只是花时间回答您的问题,因为该问题似乎仍未解决,但在我看来,您回答了自己的问题:)
约定只是广泛建立的惯例。不管是否明确声明,以这种格式定期查找手册文档的事实表明该约定(假设我在上面正确指出)已被牢固确立。
有没有“标准”?对我而言,这取决于您要对“标准”采用什么定义。对我而言,就我们在这里使用术语而言,约定和标准一词的含义之间几乎没有区别。从这个意义上说,我认为这两个词的含义是“相互同意,使用和接受为准则的事物”。
感谢您抽出宝贵的时间来帮助我了解此约定/标准。
<>
这是强制性的,但我认为这是保留给参数而不是选项的。计数器:Ubuntu的GNU tar 手册页(manpages.ubuntu.com/manpages/trusty/en/man1/tar.1.html,其中一个)不使用这种形式,linux.die.net / man / 1 / tar或Debian。我认为您可能正在查看BSD tar的联机帮助页,因此,如果存在约定,则可能是BSD的事情。