2013-06-26 79 views
1

我在某種程度上困惑於我應該如何在腳本中編寫參數和參數的使用文本。無論我看到它總是不同的。尤其是參數描述的方式和語法不盡相同。Shell腳本:編寫參數使用文本的約定?

例如參數需要標記的用法

$0 -f <filename> 
$0 [-f filename] 
$0 [-f] <filename> 
$0 [-f] [filename] 
$0 [-f <filename>] 
$0 [-f] [<filename>] 

例如,使用情況,哪些是可選參數(-f,-g,-h)

$0 [-fgh] 
$0 [<optional>] 
$0 [-[fgh]] 
$0 [-<fgh>] 
$0 -fgh 
$0 -[fgh] 

這可能是一個小問題,但惱人的,因爲語法永遠是不同的,有時它的實際含義不同的東西,但你不能看到它,因爲它不遵循任何約定。您對此有何看法,以適當的語法編寫使用說明文字的最佳做法是什麼?

回答

3

POSIX定義了一個convention for utility argument syntax(奇怪的是,他們似乎已經忘記了把]及以下[集團之間的空間,像他們這樣做實際效用描述頁面(例如commandfind)):

  • 「'['和']'符號中包含的參數或選項參數是可選的,可以省略。」因此,「非封閉」(「declosed?」)論據是強制性的。
  • 「經常的,通過實際值需要替代參數名被示爲具有嵌入下劃線或者,參數如下所示:

    <parameter name> 
    

    」由‘|’分隔

  • 「參數豎線符號是互斥的。「
  • 「省略號(」...「)用於表示允許一個或多個選項或操作數的出現。」