當 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 手冊頁包)解釋了一些您應該注意的約定,即使有一些手冊頁未能遵循這些約定。