マイコンピュータに自動的に仮想ホストを作成しようとしています。これは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>
PS:私はUbuntu 11.04 nattyを使用しています
答え1
これは職業だと思います。ここのドキュメント: スクリプトにテンプレートを含め、変数を変更したり、シェルコマンドの出力を置き換えようとしたときに$variable_name
使用します。$(shell-command)
ここでは、ドキュメントはタグの次の行(任意の単語で置き換え<<EOF
可能)で始まり、そのタグを完全に含む行(インデントは許可されていません)で終わります。テンプレート内では、二重引用符内の文字と同じ文字は特別です(保護する必要があるバックティックに注意してください)。EOF
EOF
"$`\
\`
DOMAIN=commerce.l
PATH=/home/chris/workspace/dev.commerce/html
cat >>/etc/apache/sites-available/$DOMAIN
NameVirtualHost $DOMAIN:*
<Directory "$PATH">
…
</VirtualHost>
EOF