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

おすすめ記事