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
--depth
git
--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)の「テンプレートディレクトリ」セクションを参照してください。)
メッセージの使用構文が明確でない場合は、マニュアルページも明確にする必要があります。