Files
UNSWebServerCore_LinuxSO/build/copy_headers.sh
T
2026-06-30 17:49:51 +08:00

34 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# 确保脚本在遇到错误时停止执行
set -e
# 定义路径
TARGET_DIR="./unswsc"
SOURCE_DIR=".."
echo "开始查找并复制头文件..."
# 1. 如果目标文件夹已存在,先清空它(确保没有旧的残留文件);如果不存在则创建
if [ -d "$TARGET_DIR" ]; then
echo "清理旧的 $TARGET_DIR 目录..."
rm -rf "$TARGET_DIR"/*
else
mkdir -p "$TARGET_DIR"
fi
# 2. 查找上级目录中所有包含 UNSWSC_DLL_EXPORT 的 .h 文件并复制
# -type f: 只找文件
# -name "*.h": 限制扩展名为 .h
# grep -l: 只输出包含该关键字的文件名
find "$SOURCE_DIR" -type f -name "*.h" | while read -r header_file; do
if grep -q "UNSWSC_DLL_EXPORT" "$header_file"; then
echo "发现匹配文件: $header_file"
# 复制到目标文件夹(此处直接平铺复制,不保留原有的复杂目录结构)
cp "$header_file" "$TARGET_DIR/"
fi
done
echo "==========================================="
echo "所有匹配的头文件已成功复制到: $TARGET_DIR"
ls -l "$TARGET_DIR"