히어 도큐먼트
히어 도큐먼트(Here document)는 셸 스크립트나 프로그래밍 언어에서 여러 줄의 문자열을 쉽게 표현하기 위해 사용되는 특수한 형태의 리터럴입니다. 표준 입력으로부터 텍스트 블록을 읽어 들여 명령어나 프로그램에 전달하는 방식으로 작동합니다. 셸에서는 리디렉션의 한 형태로 구현됩니다.
개념 및 특징
히어 도큐먼트는 일반적으로 다음과 같은 특징을 가집니다.
- 시작 및 종료 구분자: 특정 문자열(예:
EOF
,END
,TEXT
)을 시작 및 종료 구분자로 사용하여 텍스트 블록의 시작과 끝을 명확하게 표시합니다. - 표준 입력 리디렉션: 히어 도큐먼트는 텍스트 블록을 명령어나 프로그램의 표준 입력으로 리디렉션합니다.
- 변수 확장: 셸에 따라 히어 도큐먼트 내에서 변수 확장이 가능하며, 이를 통해 동적인 텍스트 생성이 가능합니다.
- 들여쓰기 처리: 히어 도큐먼트의 들여쓰기를 유지하거나 제거하는 옵션을 제공하는 경우가 많습니다. 셸에 따라
-
기호를 사용하여 들여쓰기를 제거할 수 있습니다 (예:<<-
).
구문
히어 도큐먼트의 일반적인 구문은 다음과 같습니다.
command << 구분자
텍스트 블록
구분자
여기서 command
는 텍스트 블록을 입력으로 받을 명령어나 프로그램이며, 구분자
는 텍스트 블록의 시작과 끝을 나타내는 문자열입니다.
사용 예시 (Bash 셸)
cat << EOF
이것은
여러 줄로 이루어진
히어 도큐먼트입니다.
EOF
위 예제에서 cat
명령어는 히어 도큐먼트로부터 텍스트를 읽어 표준 출력으로 출력합니다. EOF
는 시작 및 종료 구분자로 사용되었습니다.
활용 분야
히어 도큐먼트는 다음과 같은 분야에서 유용하게 활용될 수 있습니다.
- 셸 스크립트 작성: 복잡한 설정 파일이나 텍스트 기반 데이터를 스크립트 내에 포함시킬 때 유용합니다.
- 자동화된 시스템 관리: 자동으로 웹페이지 생성, 메일 발송, 서버 설정 등을 수행하는 스크립트를 작성할 때 활용됩니다.
- 테스트 데이터 생성: 프로그램의 입출력 테스트를 위한 데이터를 스크립트 내에서 쉽게 생성할 수 있습니다.
- SQL 쿼리 실행: 데이터베이스에 여러 줄의 SQL 쿼리를 실행할 때 유용합니다.
주의 사항
- 종료 구분자는 반드시 행의 시작 부분에 위치해야 합니다.
- 시작 구분자와 종료 구분자는 동일해야 합니다.
- 변수 확장을 사용할 경우, 셸의 변수 확장 규칙을 따라야 합니다.
관련 기술
- 표준 입력 (Standard Input)
- 리디렉션 (Redirection)
- 셸 스크립트 (Shell Script)