Unix/Linux 指令語法

Unix/Linux 指令語法

當 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 手冊頁來說很常見,其中權威文件是資訊文件,並且手冊頁是一個非常簡短的摘要,通常僅描述最常見的選項。

將此與 BSD 工具進行比較,例如柏油和獨立工具同步

另一方面,POSIX 實用程式約定說多個概要行應該用於互斥的選項,而該-i選項實際上並不互斥。

答案4

man 7 man-pages(來自 Linux 手冊頁包)解釋了一些您應該注意的約定,即使有一些手冊頁未能遵循這些約定。

相關內容