Logo
내 게시판 만들기
리눅스

heredoc — 여러 줄 입력

토순이 | 2026.04.27 13:42:13
조회 22 | 추천 0

여러 줄 텍스트를 명령에 입력으로 주거나 변수에 담는 「heredoc」.

셸 스크립트에서 SQL·HTML·설정 파일을 인라인으로 작성할 때 매우 유용.



기본.

command << EOF / 여러 줄 / 텍스트 / EOF — << 다음 단어가 종료 마커, 그 단어가 줄 단독으로 나타날 때까지의 모든 줄을 입력으로.

EOF는 관례적 이름이지만 어떤 단어든 가능.



변수 확장.

기본은 변수 확장됨 — << EOF 안에 $name 쓰면 확장.

확장 안 하려면 종료 마커를 따옴표로 — << 'EOF' 또는 << "EOF".

정확한 텍스트(예: 셸 코드 자체) 출력 시.



활용.

1) cat << EOF > file.txt / 여러 줄 / EOF — 파일에 쓰기.

2) ssh server << EOF / 명령들 / EOF — 원격에 여러 명령 실행.

3) mysql << SQL / SELECT * FROM ...

/ SQL — DB 명령.



변형 — herestring (<<<).

단일 문자열 입력.

cat <<< "hello" — 「hello」가 cat의 stdin.

grep "foo" <<< "$var" 같이 변수를 stdin으로.

heredoc보다 짧지만 한 줄만.




한 줄 요약


heredoc은 여러 줄을 명령 입력으로.

<< EOF ...

EOF, 'EOF' 인용 시 변수 확장 안 됨.

파일 쓰기·SSH 원격·DB 명령에 자주.

herestring(<<<)은 단일 문자열.




더 알아볼 것


- <<- (들여쓰기 허용)

- heredoc 안의 따옴표

- python·perl 인라인 호출

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 24 0
101 곰돌이 26/04/27 21 0
100 멍뭉이 26/04/27 26 0
99 구름이 26/04/27 21 0
98 곰돌이 26/04/27 23 0
97 햇살이 26/04/27 23 0
96 별님이 26/04/27 50 0
95 부엉이 26/04/27 22 0
94 햇살이 26/04/27 22 0
93 구름이 26/04/27 21 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 32 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 23 0
87 별님이 26/04/27 21 0
86 별님이 26/04/27 20 0
85 멍뭉이 26/04/27 29 0
84 부엉이 26/04/27 23 0
83 야옹이 26/04/27 27 0
82 야옹이 26/04/27 26 0
81 너구리 26/04/27 24 0
80 야옹이 26/04/27 22 0
79 토순이 26/04/27 23 0
78 구름이 26/04/27 24 0
77 다람쥐 26/04/27 28 0
76 구름이 26/04/27 21 0
75 별님이 26/04/27 25 0
74 토순이 26/04/27 25 0
73 구름이 26/04/27 22 0
신고하기

신고 사유를 선택해 주세요.