Skip to Content
bash Cookbook, 제 2판
book

bash Cookbook, 제 2판

by Carl Albing, JP Vossen
May 2025
Beginner to intermediate
726 pages
9h 39m
Korean
O'Reilly Media, Inc.
Book available
Content preview from bash Cookbook, 제 2판

부록 C. 명령줄 처리

이 책에서 우리는 셸이 입력 줄을 처리하는 다양한 방법, 특히 읽기를 사용하는 방법을 살펴봤습니다. 이 프로세스는 셸이 명령줄을 처리할 때 수행하는 작업의 하위 집합으로 생각할 수 있습니다. 이 부록에서는 명령줄 처리와 관련된 단계에 대한 자세한 설명과 bash가 평가로 두 번째 패스를 수행하는 방법을 제공합니다. 이 부록의 자료는 Cameron Newham(O'Reilly)이 집필한 bash 셸 배우기, 3판에도 나와 있습니다.

명령줄 처리 단계

이 책 전체에서 명령줄 처리에 대해 다뤘는데, 작은따옴표(''), 큰따옴표("") 및 백슬래시(\), 한 줄의 문자를 단어로 구분하는 방법, 심지어 환경 변수 $IFS 를 통해 사용하는 구분 기호를 지정하는 방법, 단어를 셸 변수(예: $1, $2 등)에 할당하는 방법, 파일이나 다른 프로세스(파이프라인)로 입력 및 출력을 리디렉션하는 방법 등에 대해 언급했죠. 셸 스크립팅의 진정한 전문가가 되려면(또는 까다로운 문제를 디버깅하려면) 명령줄 처리와 관련된 다양한 단계, 특히 그 순서를 이해해야 합니다.

셸이 STDIN 또는 스크립트에서 읽는 각 줄은 0개 이상의 파이프 문자로 구분된 하나 이상의 명령을 포함하므로 파이프라인이라고 합니다(|). 그림 C-1은 명령줄 처리의 단계를 보여줍니다.

bcb2 ac01
그림 C-1. 명령줄 처리 단계

읽은 각 파이프라인에 대해 셸은 이를 명령으로 나누고 파이프라인의 I/O를 설정한 다음 각 명령에 대해 다음을 수행합니다:

  1. 명령을 스페이스, 탭, 개행, ;, (, ), <, >, |, & 의 고정된 메타문자 집합으로 구분되는 토큰으로 분할합니다. 토큰 유형에는 단어, 키워드, I/O 리디렉터, 세미콜론 등이 있습니다.

  2. 각 명령의 첫 번째 토큰을 확인하여 따옴표나 백슬래시가 없는 키워드인지 확인합니다. if 또는 다른 제어 구조 오프너인 function, {, ( 과 같은 시작 키워드인 경우 해당 명령은 실제로 복합 명령입니다. 셸은 내부적으로 복합 명령에 대한 설정을 하고 다음 명령을 읽은 후 프로세스를 다시 시작합니다. 키워드가 복합 명령 오프너가 아닌 경우(예: then, else, 또는 do 와 같은 제어 구조 "중간", fi 또는 done 와 같은 "끝", 또는 논리 연산자) 셸은 구문 오류를 알립니다.

  3. 각 명령의 첫 단어를 별칭 목록과 비교하여 확인합니다. 일치하는 단어가 발견되면 별칭의 정의를 대체하고 1단계로 돌아가며, 그렇지 않으면 4단계로 이동합니다. 이 방식은 재귀적 별칭을 허용하며 키워드를 정의할 수 있습니다(예: alias aslongas=while 또는 alias procedure=function).

  4. 중괄호 확장을 수행합니다. 예를 들어 a{b,c}ab ac 이 됩니다.

  5. 사용자의 홈 디렉터리($HOME)가 단어의 시작 부분에 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Raspberry Pi Hacks

Raspberry Pi Hacks

Ruth Suehle, Tom Callaway

Publisher Resources

ISBN: 9798341659766Supplemental Content