#!/bin/bash # 配置 SOURCE_DIR="dist-prod" # 源文件夹 ZIP_NAME="dc.ifoodme.com.zip" # 输出的 ZIP 文件名 TEMP_DIR="/tmp/dc.ifoodme.com" # 临时目录,用于构建目标结构 TARGET_DIR="dc.ifoodme.com" # ZIP 中的目标目录名 # 颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # No Color # 检查命令是否存在 command_exists() { command -v "$1" >/dev/null 2>&1 } # 检查依赖 check_dependencies() { for cmd in zip unzip; do if ! command_exists "$cmd"; then echo -e "${RED}错误:需要安装 $cmd${NC}" exit 1 fi done } # 检查源文件夹 check_source() { if [ ! -d "$SOURCE_DIR" ]; then echo -e "${RED}错误:源文件夹 $SOURCE_DIR 不存在${NC}" exit 1 fi if [ ! -f "$SOURCE_DIR/index.html" ]; then echo -e "${RED}错误:$SOURCE_DIR 中没有 index.html 文件${NC}" exit 1 fi } # 打包 create_zip() { echo "开始打包..." # 创建临时目录并复制文件 mkdir -p "$TEMP_DIR" cp -r "$SOURCE_DIR"/* "$TEMP_DIR" # 重命名临时目录为目标目录名 mv "$TEMP_DIR" "$TARGET_DIR" # 打包为 ZIP zip -r "$ZIP_NAME" "$TARGET_DIR" >/dev/null if [ $? -eq 0 ]; then echo -e "${GREEN}打包成功:$ZIP_NAME${NC}" else echo -e "${RED}打包失败${NC}" exit 1 fi } # 清理 cleanup() { echo "清理临时文件..." rm -rf "$TARGET_DIR" test_unzip echo -e "${GREEN}清理完成${NC}" } # 主函数 main() { check_dependencies check_source create_zip cleanup echo -e "${GREEN}所有任务完成!${NC}" } # 执行 main