Mal*_*vin 4 shell text conventions
我对如何在脚本中编写参数和参数的用法文本感到困惑.无论我在哪里,它总是与众不同.特别是描述参数的方式及其语法各不相同.
例如,用于需要带文件名的标志的参数
$0 -f <filename>
$0 [-f filename]
$0 [-f] <filename>
$0 [-f] [filename]
$0 [-f <filename>]
$0 [-f] [<filename>]
Run Code Online (Sandbox Code Playgroud)
例如,用于可选参数(-f,-g,-h)
$0 [-fgh]
$0 [<optional>]
$0 [-[fgh]]
$0 [-<fgh>]
$0 -fgh
$0 -[fgh]
Run Code Online (Sandbox Code Playgroud)
等等
这可能是一个小问题,但很烦人,因为语法总是不同的,有时它实际上意味着不同的东西,但你看不到它,因为它不遵循任何约定.您对此有何看法?使用适当的语法编写使用文本的最佳做法是什么?
POSIX定义了实用程序参数语法的约定(奇怪的是,它们似乎忘记在]后面的[分组之间放置空格,就像它们在实际的实用程序描述页面上一样(例如command和find)):
['和' ]'表示法中包含的参数或选项参数是可选的,可以省略.因此,"un-enclosed"("declosed?")参数是强制性的."通常,需要用实际值替换的参数名称会显示嵌入的下划线.或者,参数显示如下:
<parameter name>
Run Code Online (Sandbox Code Playgroud)
"
|'竖条表示法分隔的参数是相互排斥的."...")用于表示允许选项或操作数的一次或多次出现."