93 lines
2.8 KiB
Bash
Executable File
93 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
set -e
|
||
|
||
# 定义路径
|
||
SOURCE_MAIN="../bash_go_service/main"
|
||
SOURCE_CONFIG="../bash_go_service/config/config.yaml"
|
||
SOURCE_INSTALL_SCRIPT="../bash_go_service/install_product_id_generator.sh"
|
||
SOURCE_UNINSTALL_SCRIPT="../bash_go_service/uninstall_product_id_generator.sh"
|
||
SOURCE_REG_SCRIPT="../bash_go_service/generate_bash_product_id.sh"
|
||
SOURCE_INTERCEPT_SO="../execve_hook/build/intercept.so"
|
||
|
||
DEST_DIST="./dist"
|
||
DEST_LOGS="$DEST_DIST/logs"
|
||
DEST_CONFIG="$DEST_DIST/config"
|
||
DEST_SCRIPT="./script"
|
||
DEST_INSTALL_SCRIPT="$DEST_SCRIPT/install_product_id_generator.sh"
|
||
DEST_UNINSTALL_SCRIPT="$DEST_SCRIPT/uninstall_product_id_generator.sh"
|
||
DEST_REG_SCRIPT="$DEST_SCRIPT/generate_bash_product_id.sh"
|
||
|
||
# 检查 main 是否存在且为可执行文件
|
||
if [[ ! -x "$SOURCE_MAIN" ]]; then
|
||
echo "错误:$SOURCE_MAIN 不存在或不可执行"
|
||
exit 1
|
||
fi
|
||
|
||
# 创建 dist 目录
|
||
mkdir -p "$DEST_DIST"
|
||
echo "创建 dist 目录:$DEST_DIST"
|
||
|
||
# 拷贝 main
|
||
cp "$SOURCE_MAIN" "$DEST_DIST/"
|
||
echo "已复制 main 到 $DEST_DIST/"
|
||
|
||
# 创建 logs 和 config 目录(如果不存在)
|
||
mkdir -p "$DEST_LOGS"
|
||
mkdir -p "$DEST_CONFIG"
|
||
echo "确保 logs 和 config 目录存在"
|
||
|
||
# 拷贝 config.yaml 如果不存在
|
||
if [[ ! -f "$DEST_CONFIG/config.yaml" ]]; then
|
||
if [[ -r "$SOURCE_CONFIG" ]]; then
|
||
cp "$SOURCE_CONFIG" "$DEST_CONFIG/"
|
||
echo "已复制 config.yaml 到 $DEST_CONFIG/"
|
||
else
|
||
echo "错误:$SOURCE_CONFIG 不可读取或不存在"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo "config.yaml 已存在,跳过复制"
|
||
fi
|
||
|
||
# 创建 script 目录
|
||
mkdir -p "$DEST_SCRIPT"
|
||
|
||
# 拷贝 install_product_id_generator.sh(强制覆盖)
|
||
if [[ -r "$SOURCE_INSTALL_SCRIPT" ]]; then
|
||
cp -f "$SOURCE_INSTALL_SCRIPT" "$DEST_INSTALL_SCRIPT"
|
||
echo "已复制 install_product_id_generator.sh 到 $DEST_SCRIPT/"
|
||
else
|
||
echo "错误:$SOURCE_INSTALL_SCRIPT 不可读取或不存在"
|
||
exit 1
|
||
fi
|
||
|
||
# 拷贝 uninstall_product_id_generator.sh(强制覆盖)
|
||
if [[ -r "$SOURCE_UNINSTALL_SCRIPT" ]]; then
|
||
cp -f "$SOURCE_UNINSTALL_SCRIPT" "$DEST_UNINSTALL_SCRIPT"
|
||
echo "已复制 uninstall_product_id_generator.sh 到 $DEST_SCRIPT/"
|
||
else
|
||
echo "错误:$SOURCE_UNINSTALL_SCRIPT 不可读取或不存在"
|
||
exit 1
|
||
fi
|
||
|
||
# 拷贝 generate_bash_product_id.sh(强制覆盖)
|
||
if [[ -r "$SOURCE_REG_SCRIPT" ]]; then
|
||
cp -f "$SOURCE_REG_SCRIPT" "$DEST_REG_SCRIPT"
|
||
echo "已复制 generate_bash_product_id.sh 到 $DEST_SCRIPT/"
|
||
else
|
||
echo "错误:$SOURCE_REG_SCRIPT 不可读取或不存在"
|
||
exit 1
|
||
fi
|
||
|
||
# 拷贝 intercept.so
|
||
if [[ -r "$SOURCE_INTERCEPT_SO" ]]; then
|
||
cp "$SOURCE_INTERCEPT_SO" "$DEST_DIST/"
|
||
echo "已复制 intercept.so 到 $DEST_DIST/"
|
||
else
|
||
echo "错误:$SOURCE_INTERCEPT_SO 不可读取或不存在"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ 全部操作完成!"
|