HTML을 텍스트 파일로 에코

HTML을 텍스트 파일로 에코

일부 HTML 코드를 텍스트/HTML 파일에 반영하는 쉬운 방법이 있습니까?

나는하려고합니다 :

echo "<!DOCTYPE html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>" > index.html

하지만 다음을 얻으세요:

-bash: !DOCTYPE: event not found

답변1

!bash는 작은 따옴표를 특수 문자로 해석하므로 작은 따옴표를 사용하십시오.

또한 백슬래시 이스케이프가 해석되도록 -ewith를 사용하세요.echo\n

echo -e '<html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>' > index.html

답변2

큰따옴표 대신 작은따옴표를 사용하면 이 문제를 해결할 수 있습니다. 따라서 예상대로 작동해야 합니다.

echo '<!DOCTYPE html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>' > index.html

작은따옴표를 사용하면 bash는 특수 문자를 해석하지 않고 리터럴 문자열만 유지합니다.

답변3

bash트리거 기록 확장을 사용하고 있습니다 !. 히스토리 확장 off 를 사용하거나 set +H작은 따옴표로 묶은 문자열을 사용하거나 여기 문서를 사용하여 HTML을 작성하십시오.

$ cat <<'END_HTML' >index.html
<!DOCTYPE html>
<html>
        <body>
                <h1>Hello World!</h1>
        </body>
</html>
END_HTML

또는 인코딩된 탭과 줄 바꿈을 있는 그대로 작성하려면 다음을 수행하세요.

$ cat <<'END_HTML' >index.html
<!DOCTYPE html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>
END_HTML

이 문서에서는 기록 확장이 실행되지 않습니다 bash.

관련 정보