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