반응형
Shell Script에서 EOF(End Of File) 사용하는 방법
리눅스 쉘 스크립트에서 EOF (End Of File) 또는 "Here Document"를 사용하면 스크립트 내에서 멀티라인 텍스트 블록을 정의할 수 있습니다. 이것은 주로 스크립트에서 파일이나 명령에 데이터를 전달할 때 유용합니다.
Here Document란?
Here Document는 특정 명령어에 다중 라인 입력을 제공하는 방법입니다. << 연산자와 함께 EOF와 같은 구분자를 사용해 입력의 시작과 끝을 정의합니다.
기본 문법
command << EOF
line1
line2
...
EOF
- command : 입력을 받을 명령어 (예: cat, bash, ftp 등)
- << : Here Document를 시작하는 연산자
- EOF : 입력의 끝을 나타내는 구분자 (임의의 문자열 가능, EOF는 관례적으로 사용)
EOF 사용 예제
파일 생성
cat 명령어와 함께 EOF를 사용해 파일을 생성할 수 있습니다.
cat << EOF > output.txt
Hello, World!
This is a test file.
Created using EOF.
EOF
변수 사용
Here Document 내에서 변수와 명령어를 확장할 수 있습니다.
name="Grok"
cat << EOF
Hello, $name!
Current date: $(date)
EOF
덮어쓰기(파일이 없으면 생성됨)
file1.txt
cat <<EOF > file1.txt
hello
world
EOF
$ cat file1.txt
hello
world
file2.txt
cat <<'EOF' | sed 's/l/e/g' > file2.txt
Hello
World
EOF
$ cat file2.txt
Heeeo
Wored
file3.txt
cat > file3.txt <<EOF
hello
world
EOF
$ cat file3.txt
hello
world
728x90
추가(파일 끝에 붙이기)
file5.txt
cat <<EOF >> file5.txt
hello
world
EOF
cat <<EOF >> file5.txt
hello
world
EOF
$ cat file5.txt
hello
world
hello
world
file6.txt
cat >> file6.txt << EOF
hello
world
EOF
cat >> file6.txt << EOF
hello
world
EOF
$ cat file6.txt
hello
world
hello
world
728x90
반응형
'스크립트' 카테고리의 다른 글
[코딩테스트 입문] 짝수의 합 (0) | 2022.10.22 |
---|---|
[코딩테스트 입문] 배열의 평균값 (0) | 2022.10.22 |
[python] 파이썬 로또 번호 생성기 (0) | 2022.08.11 |
python 모듈 탐색 경로 찾기 (0) | 2022.08.11 |
도커 엔진 설치 스크립트(docker install script) (0) | 2022.05.25 |