#!/bin/bash # 启用严格模式 set -euo pipefail # 获取脚本所在目录(即 config 目录) SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 计算根目录(config 的上一级) ROOT_DIR="$(cd "$SCRIPT_DIR/../config" && pwd)" # 定义内核和配置文件路径 MIHOMO_PATH="$ROOT_DIR/mihomo-windows-amd64-v3-go125.exe" CONFIG_PATH="$SCRIPT_DIR/config.yaml" # 定义颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' NC='\033[0m' # No Color # 检查内核文件是否存在 if [ ! -f "$MIHOMO_PATH" ]; then echo -e "${RED}错误:未找到 Mihomo 内核:$MIHOMO_PATH${NC}" >&2 exit 1 fi # 检查配置文件是否存在 if [ ! -f "$CONFIG_PATH" ]; then echo -e "${RED}错误:未找到配置文件:$CONFIG_PATH${NC}" >&2 exit 1 fi echo "正在检查配置格式:$CONFIG_PATH" # 执行配置检查 # -t: 测试模式 # -d: 指定工作目录为根目录 # -f: 指定配置文件 if "$MIHOMO_PATH" -t -d "$ROOT_DIR" -f "$CONFIG_PATH"; then echo -e "${GREEN}配置格式检查通过。${NC}" exit 0 else EXIT_CODE=$? echo -e "${RED}配置格式检查失败。${NC}" >&2 exit $EXIT_CODE fi