您如何解释这个复杂的手册页语法?

您如何解释这个复杂的手册页语法?

我正在手册页上阅读此内容:

[-n number-to-stat[:max-size[:min-size][:num-directories[:chunk-size]]]]

我将其解释为-n可选,但如何指定num-directories

最好我不想为number-to-stat, max-size, min-size和输入任何内容chunk-size,只需给出一个值num-directories- 我该如何表达?

答案1

通常的约定是方括号将可选的内容分组。您有多层嵌套方括号需要解释。方括号将数学表达式中的括号等内容分组 - 一组方括号内的所有内容都必须被视为一个单元。

整个构造位于方括号中 - 这意味着整个“块”是可选的 - 它可以作为一个单元存在,也可以不存在。

假设我们希望它在那里,所以让我们去掉最外层的方括号,然后剩下:

-n number-to-stat[:max-size[:min-size][:num-directories[:chunk-size]]]

这意味着,如果存在原始构造中的任何内容,则它必须以 开头-n,后跟number-to-stat。注意number-to-stat不是在这种情况下是可选的 - 如果-n存在,那么它必须后面跟着一个number-to-stat.接下来的所有内容都在另一组方括号内,因此它作为一个单元也是可选的。

如果 后面有任何内容number-to-stat,则必须采用以下形式:

:max-size[:min-size][:num-directories[:chunk-size]]

这意味着表达式的下一部分必须是 :max-size。可以选择后跟:min-size- 或不跟 -,如您所愿......但它本身位于另一组方括号中,因此它是一个单元,独立于其余部分。

无论是否:min-size存在,您都可以选择附加:num-directories,如果存在,您可以选择附加:chunk-size到它。如果您没有放置:num-directories,则您不能放置 a :chunk-size,因为它们位于一组方括号内。

为了回答你的直接问题,如果你使用这个-n选项,你不能省略number-to-stat,这将是必需的。您可以省略:max-size,但如果您这样做,您不能提供:min-size(我知道你说过你无论如何都不想)。之后,你可以给出:num-directories,也可以省略:chunk-size。当然,如果您不提供-n,那么您就无法提供任何其余的。

当然,这一切都取决于您给出的示例以文档中通常使用的方式使用方括号的假设。

相关内容