명령줄에서는 다음과 같은 "간단한" 명령을 자주 사용합니다.
mv foo/bar baz/bar
그러나 나는 그것의 다양한 부분을 무엇이라고 불러야 할지 모르겠습니다.
┌1┐ ┌──2───┐
git checkout master
│ └──────3──────┘
└───────4─────────┘
나는 (나는) 알고 있다고 생각한다1명령이고2이건 내가 전화할 수 있는 주장이야삼매개변수 목록(맞나요?)
그런데 그걸 뭐라고 불러야 할지 모르겠어요.4.
더 복잡한 "명령"은 어떻게 표시됩니까?
find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/}
1,2,3,4를 무엇이라고 부를지, 그리고 위의 "명령"의 각 부분을 무엇이라고 부를지 분석한 답변을 주시면 감사하겠습니다.
여기에 나열하지 않은 다른 독특하고 놀라운 것들에 대해 알아두면 좋을 것입니다.
답변1
각 부분의 공통 명칭은 다음과 같습니다.
┌1┐ ┌──2───┐
git checkout master
│ └──────3──────┘
└───────4─────────┘
명령 이름(재지정이나 변수 할당이 아니고 별칭이 확장된 후 명령줄의 첫 번째 단어 또는 토큰).
명령에 대한 토큰, 단어 또는 인수입니다. 남자 배쉬에서 :
단어(word): 셸에서 단일 단위로 처리되는 일련의 문자입니다. 토큰이라고도 합니다.
일반: 매개변수
명령줄.
일련의둘a를 사용한 간단한 명령 |
은 파이프 시퀀스 또는 파이프입니다.
┌─1┐ ┌──────2──────┐ ┌─2─┐ ┌──2──┐ ┌──1───┐ ┌2┐┌2┐┌2┐┌────2─────┐ ┌2┐ ┌2┐
find transcripts/?.? -name '*.txt' | parallel -- sh -c 'echo $1 $2' {} {/}
│ └────────────3──────────────┘ └────────────3──────────────┘
└───────────────────────────────────4─────────────────────────────────────┘
리디렉션과 변수 할당도 있습니다.
┌──5──┐ ┌1┐ ┌─2─┐ ┌─2─┐ ┌───6──┐ ┌1┐ ┌─5─┐
<infile tee file1 file2 | LC_ALL=C cat >file
└─────────7───────────┘ └───────7────────┘
└─────────────────────4────────────────────┘
여기서(위의 숫자에 추가로):
- 리디렉션.
- 변수 할당.
- 간단한 명령.
이것은 명령줄에 포함될 수 있는 모든 요소의 전체 목록이 아닙니다. 이러한 목록은 이 짧은 답변에 비해 너무 복잡합니다.
답변2
위의 @isaac의 답변이 좋은 것 같습니다.
나는 몇몇 소스를 통해 이에 대해 확장하고 싶습니다.
내 생각엔POSIX 표준어떤 의미에서는 고려될 수 있다모델. 다른 소스는 man bash
및 일 수 있습니다 man proc
.
┌1┐ ┌──2───┐
git checkout master
│ └──────3──────┘
└───────4─────────┘
POSIX 권장 사항:
- ~이다명령 이름(명령 대신, 이 문서에서는 일부 위치에서 명령을 사용하지만)
- 토론
- 논쟁
- 주문하다(
man proc
사용하고 있지만명령줄)
또한 더 많은 복잡한 명령에 대한 용어도 포함되어 있습니다.
명령이 다소 모호한 것 같아서 용어가명령 이름그리고명령줄명확성에 도움이 됩니다. 제이