refactor(set_core_config_link): replace recursion with while loop

This commit is contained in:
Sofia
2026-01-12 02:06:05 +08:00
committed by GitHub
parent ffce704f5e
commit d630f7534e

View File

@@ -988,7 +988,10 @@ gen_core_config_link(){ #在线生成工具
fi fi
done done
} }
set_core_config_link(){ #直接导入配置
# 直接导入配置
set_core_config_link() {
while true; do
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "\033[32m仅限导入完整的配置文件链接\033[0m" echo -e "\033[32m仅限导入完整的配置文件链接\033[0m"
echo "-----------------------------------------------" echo "-----------------------------------------------"
@@ -1000,11 +1003,11 @@ set_core_config_link(){ #直接导入配置
echo "-----------------------------------------------" echo "-----------------------------------------------"
read -p "请输入完整链接 > " link read -p "请输入完整链接 > " link
test=$(echo $link | grep -iE "tp.*://") test=$(echo $link | grep -iE "tp.*://")
link=`echo ${link/\ \(*\)/''}` #删除恶心的超链接内容 link=$(echo ${link/\ \(*\)/''}) # 删除恶心的超链接内容
link=`echo ${link//\&/\\\&}` #处理分隔符 link=$(echo ${link//\&/\\&}) # 处理分隔符
if [ -n "$link" -a -n "$test" ]; then if [ -n "$link" -a -n "$test" ]; then
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e 请检查输入的链接是否正确: echo -e "请检查输入的链接是否正确:"
echo -e "\033[4;32m$link\033[0m" echo -e "\033[4;32m$link\033[0m"
read -p "确认导入配置文件?原配置文件将被备份![1/0] > " res read -p "确认导入配置文件?原配置文件将被备份![1/0] > " res
if [ "$res" = '1' ]; then if [ "$res" = '1' ]; then
@@ -1015,18 +1018,18 @@ set_core_config_link(){ #直接导入配置
setconfig Url setconfig Url
# 获取在线yaml文件 # 获取在线yaml文件
jump_core_config jump_core_config
else break
set_core_config_link
fi fi
elif [ "$link" = 0 ]; then elif [ "$link" = 0 ]; then
i= i=
break
else else
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "\033[31m请输入正确的配置文件链接地址\033[0m" echo -e "\033[31m请输入正确的配置文件链接地址\033[0m"
echo -e "\033[33m仅支持http、https、ftp以及ftps链接\033[0m" echo -e "\033[33m仅支持http、https、ftp以及ftps链接\033[0m"
sleep 1 sleep 1
set_core_config_link
fi fi
done
} }
# 配置文件主界面 # 配置文件主界面