bash_agant_install/prepare.sh

71 lines
1.9 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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_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"
# 检查 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
# 拷贝 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 "✅ 全部操作完成!"