当 linux 命令列出它们的用法时,通常是这样做的(例如 wget):
wget [option]... [URL]...
根据我对指定命令用法的这种模式的理解,这不是指定模式的常用正则表达式方式,并且对于 wget 命令来说,不强制指定任何选项,并且按照该逻辑,不强制指定任何 URL出色地。我的意思是我可以直接做
wget www.google.com
这会起作用的。所以这些选项不是强制性的。如果选项不是强制性的,因为它们位于方括号中,那么遵循该逻辑指定 URL 也不应该是强制性的,而只是
wget
作为命令也应该起作用。我的问题是-是否有一些文档详细说明了这种指定命令用法的模式?
答案1
通常,语法中 [...] 用于指示可选参数,“|”用于指示用于指示大多数手册页中使用的逻辑或。这取决于谁编写手册页,因为没有权威规定手册页必须读成什么样。然而,更具体地说,对于您的问题,手册页在这种情况下是正确的。您可以通过 -i 开关指定 url,也可以提供 URL 本身。因此,您可以将选项视为“有条件可选”。真的,它可能应该读成类似的内容
([option (excluding -i)] (-i file | URL))
但你可以看到这很快就会变得复杂。因此,您需要对这些快速描述持保留态度。根据我的经验,命令语法通常是您最不需要担心的。
另外,我在这里挑剔,但你看到的不是正则表达式;)
答案2
我认为没有一个正式的定义(我可能是错的),但从一些手册页的随机抽样来看,这种逻辑似乎没有太多标准。
答案3
我希望它会说
wget [options] URL...
wget [-i|--input-file] file [options] [URL...]
单行概要对于 GNU 手册页来说很常见,其中权威文档是信息文档,并且手册页是一个非常简短的摘要,通常仅描述最常见的选项。
另一方面,POSIX 实用程序约定说多个概要行应该用于互斥的选项,而该-i
选项实际上并不互斥。
答案4
man 7 man-pages
(来自 Linux 手册页包)解释了一些您应该注意的约定,即使有一些手册页未能遵循这些约定。