下图来自 POSIX 文档的Utility Argument Syntax部分。
我的问题是:图像中的两种参数形式是否或多或少相同,除了一个使用选项-g
和第二个-f
用作选项?措辞使它听起来像一对括号后面的省略号,这意味着括号内的参数必须至少出现一次,而不是任意次数。也就是说,形式的参数是否[-f option_argument]...
等同于形式的参数-f option_argument [-f option_argument]...
,其中两种形式都指定必须出现一个或多个字符串?或者,第一种形式是否指定了零次或多次出现,而第二种形式指定了一次或多次出现?
-f arg [-f arg]...
手段-f arg
必须至少出现一次,但它可能会出现多次(“一次然后零次或多次”是另一种说法)。括号指定命令的命令行语义的可选部分,省略号表示选项及其选项参数可以重复任意次数。这方面的一个例子可以在实用程序的概要形式之一中
sed
找到:在这里,
-e script
必须发生一次,但可能发生不止一次。[-g arg]...
表示-g arg
可能出现零次或多次,即-g
选项及其选项参数是可选的。-f script_file
上面示例中的 option 和 option-argument就是这种情况sed
。这就是图像中的文本试图传达的内容。
如果没有省略号,即
[-h arg]
,这意味着它-h arg
是可选的,并且它会在命令行上被接受一次。-h arg
然后,该实用程序可以决定如果用户多次使用该做什么(例如,输出诊断消息,让后者-h arg
覆盖较早的消息,或者忽略该选项的进一步副本)。这就是上面
-n
示例中的工作方式sed
。它是可选的,-n
多次使用根本没有任何特殊效果(它被忽略)。