38 lines
889 B
Bash
Executable File
38 lines
889 B
Bash
Executable File
#!/bin/bash
|
|
set -e # 出错立即退出
|
|
|
|
# 1. 构建
|
|
npm run build
|
|
|
|
# 2. 目标目录
|
|
PLUGIN_DIR=~/myweb/.obsidian/plugins/note-to-mp
|
|
FILES=("main.js" "styles.css" "manifest.json")
|
|
|
|
# 3. 遍历文件,逐一备份并覆盖
|
|
for FILE in "${FILES[@]}"; do
|
|
TARGET="$PLUGIN_DIR/$FILE"
|
|
BACKUP="$PLUGIN_DIR/backup/$FILE.bk"
|
|
|
|
if [ -f "$TARGET" ]; then
|
|
mkdir -p "$(dirname "$BACKUP")"
|
|
cp -f "$TARGET" "$BACKUP"
|
|
echo "已备份 $TARGET -> $BACKUP"
|
|
fi
|
|
|
|
if [ -f "$FILE" ]; then
|
|
cp -f "$FILE" "$TARGET"
|
|
echo "已更新 $TARGET"
|
|
else
|
|
echo "⚠️ 源文件 $FILE 不存在,跳过"
|
|
fi
|
|
done
|
|
|
|
# 4. 覆盖复制 assets 目录(静默)
|
|
if [ -d "assets" ]; then
|
|
mkdir -p "$PLUGIN_DIR/assets"
|
|
rsync -a --delete assets/ "$PLUGIN_DIR/assets/" >/dev/null
|
|
echo "已同步 assets -> $PLUGIN_DIR/assets/"
|
|
else
|
|
echo "⚠️ 源目录 assets 不存在,跳过"
|
|
fi
|