Linux下前端解压更新脚本

前端更新替换部署包脚本(访问权限问题)

#!/bin/sh
set -e

# 定义项目目录名
PROJECT="dist"

# 1. 设置 umask(解压前宽松,解压后恢复)
umask 022

# 2. 获取当前月日(如 0819)
suffix=$(date +%m%d)

# 3. 如果旧的项目目录存在,则重命名(添加月日后缀)
if [ -d "$PROJECT" ]; then
    # 备份目标目录名
    backup_dir="${PROJECT}${suffix}"

    # 如果备份目录已经存在,为避免覆盖,追加一个递增数字
    if [ -d "$backup_dir" ]; then
        count=1
        while [ -d "${PROJECT}${suffix}_${count}" ]; do
            count=$((count + 1))
        done
        backup_dir="${PROJECT}${suffix}_${count}"
    fi

    echo "Moving existing $PROJECT to $backup_dir"
    mv "$PROJECT" "$backup_dir"
fi

# 4. 解压新的 zip 到项目目录
unzip "${PROJECT}.zip" -d "$PROJECT"

# 5. 恢复 umask
umask 027

echo "Done. New extraction is in $PROJECT/"
本站有更新,点击刷新查看最新内容 ×