From 0df2fb5206d220fd32cd40263fb3ef155e51519c Mon Sep 17 00:00:00 2001 From: libm Date: Thu, 12 Jun 2025 18:53:15 +0800 Subject: [PATCH] fix: optimize merge_config --- script/clashctl.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/script/clashctl.sh b/script/clashctl.sh index c155e6c..fb2ab52 100644 --- a/script/clashctl.sh +++ b/script/clashctl.sh @@ -87,7 +87,8 @@ function clashui() { _merge_config_restart() { local backup="/tmp/rt.backup" sudo cat "$CLASH_CONFIG_RUNTIME" 2>/dev/null | sudo tee $backup >&/dev/null - sudo "$BIN_YQ" eval-all '. as $item ireduce ({}; . *+ $item)' "$CLASH_CONFIG_MIXIN" "$CLASH_CONFIG_RAW" | sudo tee "$CLASH_CONFIG_RUNTIME" >&/dev/null + sudo "$BIN_YQ" eval-all '. as $item ireduce ({}; . *+ $item) | (.. | select(tag == "!!seq")) |= unique' \ + "$CLASH_CONFIG_MIXIN" "$CLASH_CONFIG_RAW" "$CLASH_CONFIG_MIXIN" | sudo tee "$CLASH_CONFIG_RUNTIME" >&/dev/null _valid_config "$CLASH_CONFIG_RUNTIME" || { sudo cat $backup | sudo tee "$CLASH_CONFIG_RUNTIME" >&/dev/null _error_quit "验证失败:请检查 Mixin 配置"