| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/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
|