diff --git a/script/clashctl.sh b/script/clashctl.sh index d608899..b49d503 100644 --- a/script/clashctl.sh +++ b/script/clashctl.sh @@ -81,7 +81,7 @@ 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" -n "load(\"$CLASH_CONFIG_RAW\") * load(\"$CLASH_CONFIG_MIXIN\")" | sudo tee "$CLASH_CONFIG_RUNTIME" >&/dev/null + sudo "$BIN_YQ" eval-all '. as $item ireduce ({}; . *+ $item)' "$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 配置"