
몇 가지 단계를 자동화하는 스크립트를 작성 중이며 미리 정의된 위치와 텍스트가 포함된 새 구성 파일을 만들어야 합니다.
파일을 만들 수 있지만 VIM을 사용하여 텍스트를 입력하고 파일을 자동으로 저장하는 방법을 잘 모르겠습니다.
예:
/etc/httpd/conf.d/cgi-enabled.conf
다음 텍스트를 사용하여 구성 파일을 만듭니다.
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
저장하면 다음 구성 파일로 넘어갈 수 있습니다. 어떤 제안?
답변1
시작할 필요가 없습니다 vim
. 여기 문서를 사용하십시오.
cat >/etc/httpd/conf.d/cgi-enabled.conf <<END_CONF
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
END_CONF
<<END_CONF
와 마지막 구분 기호 사이의 텍스트는 에 의한 리디렉션을 통해 END_CONF
에 저장됩니다 . 구분 기호의 선택은 임의적이지만 일반적으로 대문자를 사용합니다./etc/httpd/conf.d/cgi-enabled.conf
cat
여기 문서에 쉘 변수(또는 쉘 변수처럼 보이는 것)가 있고~하지 않다이를 해당 값으로 바꾸려면 첫 번째 부분을 작은따옴표로 묶어야 합니다 END_CONF
.
cat >/etc/httpd/conf.d/cgi-enabled.conf <<'END_CONF'
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
<!-- $HOME will not be expanded here -->
END_CONF
답변2
이것이 쉘 스크립트에서 나온 것이라면 vim을 모두 사용하지 않고 대신 echo를 사용하는 것이 좋습니다. 즉, echo "sample text" > file.cfg
이렇게 하면 파일이 생성되고 필요한 내용으로 채워집니다.