国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

Linux shell命令幫助格式詳解

2020-07-27 18:58:27
字體:
來源:轉載
供稿:網友

前言

linux shell命令通常可以通過-h--help來打印幫助說明,或者通過man命令來查看幫助,有時候我們也會給自己的程序寫簡單的幫助說明,其實幫助說明格式是有規律可循的

幫助示例

下面是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>]

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

  • 沒有任何修飾符參數 : 原生參數
  • <>  : 占位參數
  • []  : 可選組合
  • ()  : 必選組合
  • |   : 互斥參數
  • ... : 可重復指定前一個參數
  • --  : 標記后續參數類型

下面來一一介紹

參數類型解讀

原生參數

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

git reset

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

占位參數

表示方式: <>

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

<paths>

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

可選組合

表示方式:  []

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

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

[<commit>]

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

必選組合

表示方式:  ()

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

(--patch | -p)

表示--patch-p這兩個參數必需指定一個

互斥參數

表示方式:  |

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

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

重復參數

表示方式: ...

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

<paths>...

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

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

我們可以這樣使用

git mv -f a.cpp b.py dir

此時options對應為-f參數,source對應為a.cpp b.py,destination對應為dir

標記后續參數類型

表示方式: --

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

git reset -p -- xx

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

rm -h

肯定是無法刪除的,因為這時-h會被認為是rm的一個參數選項,應該使用

rm -- -h

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

解讀實戰

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

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

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

組合又由6部分組成,為互斥關系

-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>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潞西市| 黄平县| 吴旗县| 乐东| 正阳县| 白水县| 且末县| 环江| 济源市| 孟州市| 大渡口区| 大化| 景东| 乐亭县| 滨海县| 清水河县| 临泽县| 广宁县| 瑞安市| 社会| 吐鲁番市| 香港| 喀喇沁旗| 临夏县| 修武县| 独山县| 石楼县| 东兴市| 乡城县| 贵德县| 永济市| 神农架林区| 靖边县| 大庆市| 临泉县| 綦江县| 罗平县| 韩城市| 银川市| 女性| 普陀区|