文件
mashangyoujiu/replace_cdn.sh

69 行
3.5 KiB
Bash
可执行文件

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

#!/bin/bash
# CDN替换脚本 - 将国外CDN替换为国内CDN
echo "开始替换CDN链接..."
# 定义替换规则
declare -A cdn_replacements=(
# Bootstrap CDN
["https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"]="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css"
["https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"]="https://cdn.bootcdn.net/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"
# Bootstrap Icons
["https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css"]="https://cdn.bootcdn.net/ajax/libs/bootstrap-icons/1.10.0/font/bootstrap-icons.css"
["https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css"]="https://cdn.bootcdn.net/ajax/libs/bootstrap-icons/1.11.0/font/bootstrap-icons.css"
# Vue.js
["https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"]="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"
["https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.min.js"]="https://cdn.bootcdn.net/ajax/libs/vue/2.7.14/vue.min.js"
# Element UI
["https://unpkg.com/element-ui@2.11.0/lib/theme-chalk/index.css"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.11.0/theme-chalk/index.css"
["https://unpkg.com/element-ui@2.11.0/lib/index.js"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.11.0/index.js"
["https://unpkg.com/element-ui/lib/theme-chalk/index.css"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/theme-chalk/index.css"
["https://unpkg.com/element-ui/lib/index.js"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/index.js"
["https://cdn.jsdelivr.net/npm/element-ui@2.15.9/lib/index.js"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/index.js"
["https://cdn.jsdelivr.net/npm/element-ui@2.15.9/lib/theme-chalk/index.css"]="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.9/theme-chalk/index.css"
# Chart.js
["https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.min.js"]="https://cdn.bootcdn.net/ajax/libs/Chart.js/4.4.0/chart.min.js"
["https://cdn.jsdelivr.net/npm/chart.js"]="https://cdn.bootcdn.net/ajax/libs/Chart.js/4.4.0/chart.min.js"
# jQuery
["https://code.jquery.com/jquery-3.7.1.min.js"]="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"
["https://code.jquery.com/jquery-3.7.0.min.js"]="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.0/jquery.min.js"
# Font Awesome
["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"]="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css"
# Lodash
["https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.1/lodash.min.js"]="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.14.1/lodash.min.js"
)
# 查找所有HTML文件
find . -name "*.html" -type f | while read -r file; do
echo "处理文件: $file"
# 对每个文件进行替换
for old_url in "${!cdn_replacements[@]}"; do
new_url="${cdn_replacements[$old_url]}"
# 使用sed进行替换
if grep -q "$old_url" "$file"; then
echo " 替换: $old_url -> $new_url"
sed -i "s|$old_url|$new_url|g" "$file"
fi
done
done
echo "CDN替换完成!"
echo ""
echo "已替换的CDN服务:"
echo "- Bootstrap: cdn.bootcdn.net"
echo "- Vue.js: cdn.bootcdn.net"
echo "- Element UI: cdn.bootcdn.net"
echo "- Chart.js: cdn.bootcdn.net"
echo "- jQuery: cdn.bootcdn.net"
echo "- Font Awesome: cdn.bootcdn.net"
echo "- Lodash: cdn.bootcdn.net"