|
|
@@ -0,0 +1,79 @@
|
|
|
+#!/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
|