2021. 4. 8. 20:42
리눅스에서 cat <<EOF에 대해 정리한다.
* Bash 쉘에서 HEREDOC 구문의 전형적인 형식
* 쉘스크립트에서 명령어를 help
* 직접 입력한 텍스트를 파일로 저장시 사용
* 주로 시작 및 종료를 알리는 키워드로 EOF(End of File) 사용하지만 다른것을 사용해도 된다.
# cat을 이용해 여러 줄을 입력하는 방법
$ sql=$(cat <<EOF
SELECT foo, bar FROM db
WHERE foo='baz'
EOF
)
$ echo $sql
SELECT foo, bar FROM db WHERE foo='baz'
# cat을 이용해 여러 줄을 파일(print.sh)로 저장
$ cat <<EOF > print.sh
#!/bin/bash
echo \$PWD
echo $PWD
EOF
$ cat print.sh
#!/bin/bash
echo $PWD
echo /root
# 쉘스크립트에서 print_usage에 사용하기
$ cat test.sh
function print_usage {
cat << EOF
>> Usage: ${0} <name> <date>
Required Arguments:
- name: set name
- date: set date
EOF
}
if [ $# -lt 2 ]; then
print_usage
exit 1
fi
$ ./test.sh kim
>> Usage: ./test.sh <name> <date>
Required Arguments:
- name: set name
- date: set date
# 참고사이트
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_cat_%E2%89%AAEOF
https://twpower.github.io/142-use-cat-for-multiline-stdin
https://stackoverflow.com/questions/2500436/how-does-cat-eof-work-in-bash
'리눅스' 카테고리의 다른 글
[리눅스] 연속적으로 명령어 실행하기 (;과 &와 &&의 차이) (0) | 2021.04.08 |
---|---|
[리눅스] 표준출력(stdout), 표준에러(stderr), /dev/null이란? (0) | 2021.04.08 |
gpasswd: 그룹에 사용자 추가하기 (0) | 2019.01.22 |
리눅스 계정(유저) 생성하는 방법 (0) | 2019.01.04 |
리눅스 find 명령어 사용법 알아보자 (0) | 2018.11.21 |