Bash Tokenisation(토큰화)
1. 쉘은 따옴표로 묶이지 않은 메타 문자를 식별하고, 이를 사용하여 명령 줄을 토큰으로 분할합니다.
2. 그런 다음, 쉘은 토큰을 단어와 연산자로 분류합니다.
3. 단어는 따옴표로 묶이지 않은 메타 문자를 포함하지 않는 토큰입니다.
4. 연산자는 따옴표로 묶이지 않은 메타 문자를 포함하지 않는 토큰입니다.
5. 연산자에는 두 가지 유형이 있습니다.
- 제어 연산자(Control operators): 명령의 흐름을 제어하는 데 사용되는 연산자입니다.
Newline, |, ||, &, &&, ;, ;;, ;&, ;;&, |&, (, )
- 리다이렉션 연산자(Redirection operators): 입출력을 다른 위치로 리다이렉션하는 데 사용되는 연산자입니다.
<, >, <<, >>, <&, >|, <<-, <>, >&
먼저 아래와 같은 명령어를 확인해 보겠습니다.
![]() |
사진1) bash 명령어 |
사진1과 같은 명령을 입력하면 bash에서는 test.txt파일을 생성하고 $data에 있는 데이터를 저장합니다. 하지만 이것을 Tokenisation을 어떻게 했는지 확인해 보겠습니다.
![]() |
사진2) 메타데이터 위치 |
사진2에서 가장 먼저 찾는것이 메타 캐릭터 이다. 띄어쓰기(space)와 오른쪽 꺽쇄(Right Arrow)가 있는 것을 확인할수 있다. 총 4개의 메타캐릭터가 있는것을 알수 있다.
![]() |
사진3) 워드의 위치 |
사진3과 같이 Bash에서는 3개의 워드 캐릭터를 찾습니다.
![]() |
사진4) 오퍼레이터 찾기 |
사진4를 마지막으로 오퍼레이터를 찾습니다. 현재 명령문의 오퍼레이터는 리다이렉트 연산자만 존재하는 것을 확인할수 있습니다.
이렇게 진행하여 Bash의 Tokenisation이 마무리 됩니다.
댓글
댓글 쓰기