インスタンスの2つの構成セクションタグ間でキャッシュを無効にする/有効にするには、ORを使用してhttpd
コメントを解除/コメント解除します。sed
awk
Cache
/キーワードで始まる行にコメントを付けたりコメントを解除したりできますが、Expires
まだモジュールタグにコメントが残っています。開始タグと終了タグの間のすべての行に単一のコマンドでコメントアウト/コメント解除を実行する方法でコメントアウト/コメント解除を実行するにはどうすればよいですか?
これはサンプルキャッシュ構成です。
#<IfModule mod_cache.c>
#
#<IfModule mod_disk_cache.c>
# CacheRoot "/var/cache/mod_proxy"
# CacheEnable disk
# CacheEnable disk
# CacheEnable disk
# CacheIgnoreCacheControl On
# CacheDirLevels 1
#</IfModule>
#
#</IfModule>
#<IfModule mod_expires.c>
# Header set Cache-Control "max-age=604800, public"
# ExpiresActive On
# ExpiresDefault "access plus 1 week"
# ExpiresByType text/cache-manifest "access plus 0 seconds"
# ExpiresByType text/html "access plus 1 year"
# ExpiresByType text/xml "access plus 0 seconds"
# ExpiresByType application/xml "access plus 0 seconds"
# ExpiresByType application/json "access plus 0 seconds"
# ExpiresByType application/rss+xml "access plus 1 hour"
# ExpiresByType application/atom+xml "access plus 1 hour"
# ExpiresByType image/x-icon "access plus 1 week"
# ExpiresByType image/gif "access plus 1 month"
# ExpiresByType image/png "access plus 1 month"
# ExpiresByType image/jpg "access plus 1 month"
# ExpiresByType image/jpeg "access plus 1 month"
# ExpiresByType video/ogg "access plus 1 month"
# ExpiresByType audio/ogg "access plus 1 month"
# ExpiresByType video/mp4 "access plus 1 month"
# ExpiresByType video/webm "access plus 1 month"
# ExpiresByType application/x-font-ttf "access plus 1 month"
# ExpiresByType font/opentype "access plus 1 month"
# ExpiresByType application/x-font-woff "access plus 1 month"
# ExpiresByType image/svg+xml "access plus 1 month"
# ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# ExpiresByType text/css "access plus 1 year"
# ExpiresByType application/javascript "access plus 1 year"
#</IfModule>
<IfModule mod_cache.c>
だから私は、タグが閉じるまでタグの開始間のすべての行をコメントアウトできるコマンドが欲しいです<IfModule mod_expires.c>
。
ベストアンサー1
この試み、
モジュールにコメントを付けたりコメントを解除したりするには、スクリプトに以下を追加します。
if [ "$2" == uncomment ]; then
sed -i "/<IfModule $1>/,/<\/IfModule>/ s/^#//" apache.conf
elif [ "$2" == comment ]; then
sed -i "/<IfModule $1>/,/<\/IfModule>/ s/^\(<\| \)/#\1/" apache.conf
fi
スクリプトを実行するための構文:
sh script.sh <moduleName> <comment/uncomment>
例:
sh script.sh mod_disk_cache.c uncomment