Linuxコマンドの説明に使用される構文または規則

Linuxコマンドの説明に使用される構文または規則

git clone --helpコマンドラインから適用すると、結果には次の内容が含まれます。

git clone [--template=<template_directory>]
             [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
             [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
             [--dissociate] [--separate-git-dir <git dir>]
             [--depth <depth>] [--[no-]single-branch] [--no-tags]
             [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
             [--jobs <n>] [--] <repository> [<directory>]

誰もがいくつかのオプションで使用される等号の意味を説明してもらえますか--template

Googleで一生懸命検索して見つけました。これそしてこれしかし、それらのどれも私が望むものを説明していません。

この質問はGitに関するものではなく、Linuxコマンドを記述するために使用される構文や規則についてです。

答え1

--template=<template_directory>役割=言葉。置き換える内容はすべて<template_directory>追加され、一緒にパラメータ配列--template=に渡されるパラメータを形成します。これはシェルにとって特別なものではなく、シェルからエスケープまたは引用することができます。その主張は全体として引用することができます。git=

比較のために--depth <depth>スペース文字が含まれています。そのスペースを文字通り受け入れることもできますが(たとえば、自分で次のように言うこともできます。 after が必要ですが=after が必要です。このスペースにより、シェルは2つの引数に分割されると予想されます。シェルに入力するときに1つ以上のスペース(またはタブ)を使用するかどうかは重要ではありません。重要なことは、何を変えてもoptionsが引数配列に渡される2つの引数でなければならないということです。したがって、シェルでスペースをエスケープしたり引用したりしないでください。=--template--depthgit--depth <depth>--depth<depth>git

シェルがない場合(つまり、明示的に大量にまたは同様のパラメータ)、1つのパラメータとして渡す必要がありますexecve(2)が、+は2つのパラメータとして渡されます。--template=<template_directory>--depth<depth>

git異なるオプションに異なるルールが使用される理由は、別の問題です。この特別な場合(例:)、違いは正当性を持つことも、そうでない場合もありますgit

通常、ユーティリティはそのパラメータを一意の方法で解釈できます。規則に従うとしても、--foo技術的な観点から見ると、同じ規則に従う義務はありません--bar

答え2

このタイプの使用メッセージには正式な構文はほとんどありませんが、通常はいくつかの規則に従います。

山かっこ構文は<thing>通常、ユーザーが提供する特定のパラメーターを表します。この--template=セクションはほとんど文字通り入力されます。=説明されている「構文」は特別なものではなく、実際のコマンド構文の一部です。

詳細については、マニュアルページを確認してください。 man git-clone説明する:

--template=<テンプレートディレクトリ>

テンプレートが使用されるディレクトリを指定します。 (git-init(1)の「テンプレートディレクトリ」セクションを参照してください。)

メッセージの使用構文が明確でない場合は、マニュアルページも明確にする必要があります。

関連情報