HEREDOC ( Here Document )
히어독, 히어닥, 히어도큐먼트
<<[구문문자 식별자]
... 내용1 ...
... 내용2 ...
[구문문자 식별자]
형태로 사용
1. 파일 리터럴 또는 스트림 리터럴로 별도의 파일인 것처럼 동작
2. sh, csh, Tcsh, ksh, bash, zsh 에서 지원
3. 표준 출력으로 동작하는 리다이렉션과 달리 표준 입력으로 동작
4. 히어독 식별자( << )는 리다이렉션 식별자( >>, > )의 반대 방향
5. 히어독의 시작과 끝을 의미하는 구문문자 식별자를 사용자가 선언 가능
6. 히어독은 여러줄 주석의 용도로도 사용
7. 히어독 내 구문문자 식별자를 따옴표( ", ' )로 감쌀경우 [ \, `, $ ] 등의 특수문자가 일반문자로 인식
8. 구문문자 식별자를 따옴표로 감싸지 않을 경우 히어독 내부에 매개변수를 사용 가능 ( e.g. ${PATH} )
9. 히어독 내부에 탭문자 입력 불가, 단 구문문자 식별자를 따옴표로 감싸지 않을 경우 $(printf '\t') 로 대체 가능
10. 파일인 것처럼 동작하기 때문에 주로 cat 명령어와 같이 사용
[ HEREDOC 사용 예 ]
# 여러줄 주석으로 사용하는 경우
<< 'XXX에 대한 설명'
1. XXX 의 개요
2. XXX 의 목적
3. XXX 의 사용 예
...
XXX에 대한 설명
# 표준 출력 용도로 사용하는 경우
cat << 'END'
1. END는 구문 문자식별자
2. 구문문자 식별자는 변경 가능
END
# 리다이렉션을 이용하여 히어독 내용을 파일에 저장
cat << 'USE_REDIRECTION' >> /tmp/readme.txt
1. 구문식별자 왼쪽에 리다이렉션을 사용하여 파일 저장
USE_REDIRECTION
cat /tmp/readme.txt
# 히어독 내 탭 문자를 사용하려는 경우
cat << USE_TAB_CHAR
$(printf '\t')현재 입력 문장 오른쪽에 탭문자가 추가
USE_TAB_CHAR
# 매개변수를 사용하려는 경우
VAR=HELLO
cat << USE_VAR
${VAR} WORLD
USE_VAR
'Operating Systems > Linux' 카테고리의 다른 글
[ Linux ] UBUNTU20 설치 [임시작성] (0) | 2021.08.07 |
---|---|
[ Linux ] CENTOS7 설치 [임시작성] (0) | 2021.08.07 |
[ Linux ] PHP 설치 (0) | 2021.08.06 |
[ Linux ] WORDPRESS 설치 (0) | 2021.08.06 |
[ Linux ] PYTHON 설치 (0) | 2021.08.01 |