Merge pull request #1122 from sofia-riese/patch-1

refactor: replace recursion with while loop in main_menu
This commit is contained in:
juewuy
2026-01-14 20:31:14 +08:00
committed by GitHub

View File

@@ -159,6 +159,7 @@ ckstatus() { #脚本启动前检查
} }
main_menu() { main_menu() {
while true; do
ckstatus ckstatus
echo -e " 1 \033[32m$MENU_MAIN_1\033[0m" echo -e " 1 \033[32m$MENU_MAIN_1\033[0m"
@@ -176,7 +177,7 @@ main_menu() {
read -p "$MENU_MAIN_PROMPT" num read -p "$MENU_MAIN_PROMPT" num
case "$num" in case "$num" in
0) "" | 0)
exit exit
;; ;;
1) 1)
@@ -190,7 +191,6 @@ main_menu() {
checkcfg_new=$(cat "$CFG_PATH") checkcfg_new=$(cat "$CFG_PATH")
[ "$checkcfg" != "$checkcfg_new" ] && checkrestart [ "$checkcfg" != "$checkcfg_new" ] && checkrestart
fi fi
main_menu
;; ;;
3) 3)
[ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop
@@ -198,19 +198,15 @@ main_menu() {
sleep 1 sleep 1
echo "-----------------------------------------------" echo "-----------------------------------------------"
echo -e "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" echo -e "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m"
main_menu
;; ;;
4) 4)
. "$CRASHDIR"/menus/4_setboot.sh && setboot . "$CRASHDIR"/menus/4_setboot.sh && setboot
main_menu
;; ;;
5) 5)
. "$CRASHDIR"/menus/5_task.sh && task_menu . "$CRASHDIR"/menus/5_task.sh && task_menu
main_menu
;; ;;
6) 6)
. "$CRASHDIR"/menus/6_core_config.sh && set_core_config . "$CRASHDIR"/menus/6_core_config.sh && set_core_config
main_menu
;; ;;
7) 7)
GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg
@@ -221,11 +217,9 @@ main_menu() {
checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH")
[ "$checkcfg" != "$checkcfg_new" ] && checkrestart [ "$checkcfg" != "$checkcfg_new" ] && checkrestart
fi fi
main_menu
;; ;;
8) 8)
. "$CRASHDIR"/menus/8_tools.sh && tools . "$CRASHDIR"/menus/8_tools.sh && tools
main_menu
;; ;;
9) 9)
checkcfg=$(cat "$CFG_PATH") checkcfg=$(cat "$CFG_PATH")
@@ -234,13 +228,13 @@ main_menu() {
checkcfg_new=$(cat "$CFG_PATH") checkcfg_new=$(cat "$CFG_PATH")
[ "$checkcfg" != "$checkcfg_new" ] && checkrestart [ "$checkcfg" != "$checkcfg_new" ] && checkrestart
fi fi
main_menu
;; ;;
*) *)
errornum errornum
exit sleep 1
;; ;;
esac esac
done
} }
case "$1" in case "$1" in