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