Apache conf 파일의 bash 스크립트에 대한 템플릿 값

Apache conf 파일의 bash 스크립트에 대한 템플릿 값

내 컴퓨터에 자동으로 가상 호스트를 생성하려고 합니다. 이것은 bash 스크립팅에 대한 학습 경험일 뿐입니다. 저는 현재 초보자입니다. awk, sed에 대해 더 자세히 알아보려고 합니다.

어쨌든, 여기 내 conf 파일이 있습니다. 명령줄에서 찾고 바꾸는 가장 효율적인 방법은 무엇입니까? 결국 일부 양식을 {DOMAIN} 및 {PATH}와 같은 태그로 대체하겠습니다.

NameVirtualHost commerce.l:*

<Directory "/home/chris/workspace/dev.commerce/html">
        Options Indexes Includes execCGI
        AllowOverride All
        Order Allow,Deny
        Allow From All
</Directory>

<VirtualHost commerce.l>
    DocumentRoot /home/chris/workspace/dev.commerce/html
    ServerName commerce.l
    ErrorLog logs/commerce.error
    <IfModule mod_rewrite.c>
        <Directory "/home/chris/workspace/dev.commerce/html">
            RewriteEngine on
            # needed by Drupal 7 for "clean URLs"
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_URI} !=/favicon.ico
            RewriteRule ^ index.php [L]
        </Directory>
    </IfModule>
</VirtualHost>

추신 : 저는 Ubuntu 11.04 natty를 사용하고 있습니다

답변1

이건 직업인 것 같아여기 문서: 스크립트에 템플릿을 포함하고 변수를 바꾸거나 쉘 명령의 출력을 바꾸려고 $variable_name할 때 사용합니다.$(shell-command)

여기서 문서는 태그 다음 줄 ( 어떤 단어로도 대체 <<EOF가능 )로 시작하고 해당 태그를 완전히 포함하는 줄 (들여쓰기는 허용되지 않음)로 끝납니다. 템플릿 내에서 큰따옴표 안의 문자와 동일한 문자는 특별합니다( 보호해야 하는 백틱에 유의하세요 ).EOFEOF"$`\\`

DOMAIN=commerce.l
PATH=/home/chris/workspace/dev.commerce/html
cat >>/etc/apache/sites-available/$DOMAIN
NameVirtualHost $DOMAIN:*

<Directory "$PATH">
</VirtualHost>
EOF

관련 정보