쉘프로그래밍 질문드립니다.

김선기@Google의 이미지

centos7 환경입니다.
DNS를 쉘프로그래밍으로 설치 중 에러가 떴는데 해결을 못해서 올려봅니다.

a="echo -e "zone \"kim.com\" IN {\n type master;\n file \"kim.zone\";\n allow-update { none;};\n };" > txt.txt"
eval $a

dns.sh: line 20: syntax error near unexpected token `}'
dns.sh: line 20: `a="echo -e "zone \"kim.com\" IN {\n type master;\n file \"kim.zone\";\n allow-update { none;};\n };" > txt.txt"'

a는 echo로 rfc파일 설정을 위해 만들었습니다.
zone "kim.com IN{
type master;
file "kim.zone";
allow-update { none; }

의 내용을 넣을려고합니다.
a를 만지면 위의 }관련 syntax에러나 "kim.com"에 대한 에러가 발생합니다.
어느 부분에서 문제가 있는지 잘 모르겠습니다..

익명 사용자의 이미지

맨날 루비만 하다가 sh 를 좀 공부했죠.. echo 로 그렇거 하기가 쉽지 않더군요.
그래서 cat 으로... 했습니다

cat > txt.txt <<- EOF
zone "kim.com IN{
type master;
file "kim.zone";
allow-update { none; }
EOF
익명 사용자의 이미지

<<- EOF 요기 보면 - 를 넣고 안 넣고에 따라서 차이가 있다고 하는데, 공부하지 1달도 안 되었는데, 잘 쓰지 않다보니 벌써 까먹었습니다. 배워놓으면 까먹구.. 반복이죠 ㅋㅋㅋ

김정균의 이미지

Leading tab 기능을 제공 하는 것입니다.
즉, here document 를 들여쓰기 할 수 있게 해 주는 기능 입니다.

https://mug896.github.io/bash-shell/here_document.html 에서 "Leading tab" 으로 검색해 보세요.

익명 사용자의 이미지

아 맞다..^^ 고마워요 정균님

파이썬3의 이미지

김선기님//
중괄호 짝이 안맞는거 같은데요...?

[우분투 18.04 파여폭스 나비에서 작성했어요]

황병희의 이미지

김선기님 우선 DNS 설정 파일 문법부터 확인요;;;
도움문서 남깁니다 ===> http://coffeenix.net/board_view.php?cata_code=0&bd_code=161&bpage=

[우분투 18.04 파여폭스 나비에서 작성했어요]

--
^고맙습니다 감사합니다_^))//

bushi의 이미지

a="echo -e \"zone \\\"kim.com\\\" IN {\n type master;\n file \\\"kim.zone\\\";\n allow-update { none;};\n };\" > txt.txt"

a='echo -e "zone \"kim.com\" IN {\n type master;\n file \"kim.zone\";\n allow-update { none;};\n };" > txt.txt'