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
?
구글에서 열심히 검색해서 알아냈어요이것그리고이것, 그러나 그들 중 누구도 내가 원하는 것을 설명하지 않았습니다.
이 질문은 Git에 관한 것이 아니라 Linux 명령을 설명하는 데 사용되는 구문이나 규칙에 관한 것입니다.
답변1
--template=<template_directory>
역할 =
은단어. 대체하는 내용은 모두 <template_directory>
추가되며 함께 매개변수 배열 --template=
에 전달되는 매개변수를 형성합니다 . 이는 쉘에 특별한 것이 아니며 쉘에서 이스케이프하거나 인용할 수 있습니다. 그 주장은 전체적으로 인용될 수 있다.git
=
비교를 위해 --depth <depth>
공백 문자가 포함되어 있습니다. 그 공간을 문자 그대로 받아들일 수도 있지만 (예를 들어 스스로에게 다음과 같이 말할 수도 있습니다. after가 =
필요 하지만 after가 필요합니다 . 문자만 다르고 별거 아닙니다) 기술적으로 메커니즘은 다릅니다. 이 공간으로 인해 쉘은 두 개의 인수로 분할될 것으로 예상합니다. 셸에 입력할 때 하나 이상의 공백(또는 탭)을 사용하는지 여부는 중요하지 않습니다. 중요한 것은 무엇을 바꾸든 options 가 인수 배열에 전달되는 두 개의 인수 여야 한다는 것입니다 . 따라서 셸에서 공백을 이스케이프하거나 인용해서는 안 됩니다.=
--template
--depth
git
--depth <depth>
--depth
<depth>
git
쉘이 없는 경우(즉, 명시적으로대량으로또는 유사한 매개변수 ), 하나의 매개변수로 전달 execve(2)
해야 하지만 +는 두 개의 매개변수로 전달됩니다.--template=<template_directory>
--depth
<depth>
git
다른 옵션에 대해 다른 규칙이 사용되는 이유는 또 다른 문제입니다. 이 특별한 경우(예:), 차이는 정당성을 가질 수도 있고 그렇지 않을 수도 있습니다 git
.
일반적으로 유틸리티는 해당 매개변수를 고유한 방식으로 해석할 수 있습니다. 비록 규칙을 따르더라도 --foo
기술적인 관점에서 볼 때 동일한 규칙을 준수할 의무는 없습니다 --bar
.
답변2
이러한 유형의 사용 메시지에는 공식적인 구문이 거의 없지만 일반적으로 여러 규칙을 따릅니다.
꺾쇠 괄호 구문은 <thing>
일반적으로 사용자가 제공하는 특정 매개변수를 나타냅니다. 이 --template=
섹션은 거의 문자 그대로 입력됩니다. =
설명된 "구문"은 특별한 것이 아니며 실제 명령 구문의 일부입니다.
더 많은 정보를 원하시면 매뉴얼 페이지를 확인하시기 바랍니다. man git-clone
설명하다:
--template=<템플릿 디렉터리>
템플릿이 사용될 디렉터리를 지정합니다. (git-init(1)의 "템플릿 디렉터리" 섹션을 참조하세요.)
메시지 사용 구문이 명확하지 않은 경우 매뉴얼 페이지도 명확해야 합니다.