关于在选项周围使用花括号的约定/标准

关于在选项周围使用花括号的约定/标准

tarArch Linux 的手册页SYNOPSIS部分开头为:

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

我完全理解,在这种情况下,这意味着必须给出花括号中的选项之一,因为它在手册页的下面这么说。

是否存在某种关于使用{}互斥选项列表的标准或约定?

我所能找到的是一个用户组教程man从 1998 年开始,它说:

有些选项的选择列表有限。选择列表将以逗号分隔并放在大括号之间。

{选择1,选择2} {是,否}

似乎每个约定(比如这是来自公开组的) 或手册页仅描述方括号 ( []) 或竖线 ( |)。

答案1

这是一个很好的问题(多年后仍然悬而未决)。我想答案就是现在正式在此回答谷歌文档:

  • 必填项目:无括号
  • 可选的互斥项:方括号、管道分隔
  • 必需的互斥项:花括号、管道分隔

答案2

在互斥选项列表中使用 {} 是否存在某种标准或约定?

当我遇到你的问题时,我正在研究大括号 ({}) 中指定的选项与方括号 ([]) 中指定的选项的含义的重要性。这是我发现对于我想要理解的内容有用的唯一信息来源,即为什么在大括号中声明了选项。

正如你所写:

我完全理解,在这种情况下,这意味着必须给出其中一个......

阅读 netstat 的手册页后,我了解到这些选项是可与命令一起使用的选项,必须在使用可能与命令一起列出的任何其他选项之前使用/声明,并且仅列出列出的选项之一可以使用竖线分隔。

上述示例可以在 netstat 命令的手册页中找到:

netstat {--route|-r} [address_family_options] [--extend|-e[--extend|-e]] [--verbose|-v] [--numeric|-n] [--numeric-hosts ][--数字端口][--数字端口] [--连续|-c] [延迟]

来源:网络统计(8) | Linux 手册页

本质上,可以使用 --route 或 -r 之一(它们的含义相同),但该选项必须位于其他列出的选项之前。

我只花时间回答你的问题,因为这个问题似乎仍然悬而未决,但在我看来,你回答了你自己的问题:)

惯例只是一种广泛确立的做法。无论是否明确声明,您经常发现这种格式的 man 文档这一事实表明该约定(假设我在上面正确地声明了)已牢固建立。

有“标准”吗?对我来说,这取决于您想对“标准”采用什么定义。对我来说,约定和标准这两个词的含义几乎没有区别,就我们在这里使用这个术语的意义而言。从这个意义上说,我认为这两个词的意思是“相互同意、使用和接受作为规范的东西”。

感谢您花时间帮助我理解这个约定/标准。

相关内容