溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中shell命令幫助格式的示例分析

發(fā)布時間:2021-07-01 09:32:25 來源:億速云 閱讀:164 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Linux中shell命令幫助格式的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

前言

linux shell命令通常可以通過-h--help來打印幫助說明,或者通過man命令來查看幫助,有時候我們也會給自己的程序?qū)懞唵蔚膸椭f明,其實幫助說明格式是有規(guī)律可循的

幫助示例

下面是git reset命令的幫助說明,通過man git-reset可以查看

git reset [-q] [<tree-ish>] [--] <paths>...
git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

對于命令和參數(shù)大致有如下幾種類型

  • 沒有任何修飾符參數(shù) : 原生參數(shù)

  • <>  : 占位參數(shù)

  • []  : 可選組合

  • ()  : 必選組合

  • |   : 互斥參數(shù)

  • ... : 可重復(fù)指定前一個參數(shù)

  • --  : 標(biāo)記后續(xù)參數(shù)類型

下面來一一介紹

參數(shù)類型解讀

原生參數(shù)

說明文檔里的字符即為命令需要使用的字符,比如以上命令的

git reset

這種參數(shù)在使用時必需指定,且和說明文檔里的一致

占位參數(shù)

表示方式: <>

和原生參數(shù)類似,都是必需指定的,只不過占位參數(shù)的實際字符是在使用時指定的,同時為了方便閱讀會用一個描述詞匯來表示,并以<>包圍,比如

<paths>

表示路徑,使用時可以指定為具體的路徑,而paths只是起一個說明作用,有些幫助說明里也會用大寫來表示占位參數(shù),比如將以上參數(shù)說明寫成PATHS

可選組合

表示方式:  []

括號里的參數(shù)為可選參數(shù),比如usage第二個里面的[-q] ,則-q為可選參數(shù)

可選項和占位參數(shù)也可以同時使用,如

[<commit>]

表示該參數(shù)可以指定某次提交,也可以不指定

必選組合

表示方式:  ()

括號里的參數(shù)必需指定,通常里面會是一些互斥參數(shù),比如

(--patch | -p)

表示--patch-p這兩個參數(shù)必需指定一個

互斥參數(shù)

表示方式:  |

互斥參數(shù)一般都在()[]里,表示該參數(shù)只能指定其中一個,比如

[--mixed | --soft | --hard | --merge | --keep]

重復(fù)參數(shù)

表示方式: ...

表示前一個參數(shù)可以被指定多個,比如

<paths>...

<paths>是一個占位參數(shù),使用時必需指定為路徑,...并表示可以指定多個路徑。重復(fù)參數(shù)的一個典型使用場景就是移動文件,將多個文件移動到一個目錄下,比如如下命令

git mv [<options>] <source>... <destination>

我們可以這樣使用

git mv -f a.cpp b.py dir

此時options對應(yīng)為-f參數(shù),source對應(yīng)為a.cpp b.py,destination對應(yīng)為dir

標(biāo)記后續(xù)參數(shù)類型

表示方式: --

表示后續(xù)參數(shù)的某種類型,比如這里如果使用如下命令

git reset -p -- xx

對比第一個命令,這里的xx對應(yīng)的應(yīng)該是<paths>參數(shù),當(dāng)我們指定--之后,則git會認(rèn)為xx就是一個路徑,那怕它是特殊符號或者路徑并不存在。這是shell命令的一個通用方式,比如我們有一個文件名為-h,如果想刪除這個文件,執(zhí)行

rm -h

肯定是無法刪除的,因為這時-h會被認(rèn)為是rm的一個參數(shù)選項,應(yīng)該使用

rm -- -h

這時shell會將-h解釋為一個文件名傳遞給rm命令

解讀實戰(zhàn)

最后來解釋一個比較復(fù)雜的幫助說明

git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|<type>|--textconv) <object>

該命令參數(shù)由四個部分,其中gitcat-file為原生參數(shù),()里的為可選組合, <object>為占位參數(shù)

組合又由6部分組成,為互斥關(guān)系

-t [--allow-unknown-type]
-s [--allow-unknown-type]
-e
-p
<type>
--textconv

因此該命令的幫助說明可以拆分如下

git cat-file -t <object>
git cat-file -t --allow-unknown-type <object>
git cat-file -s <object>
git cat-file -s --allow-unknown-type <object>
git cat-file -e <object>
git cat-file -p <object>
git cat-file <type> <object>
git cat-file --textconv <object>

以上是“Linux中shell命令幫助格式的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI