mirror of
https://gitee.com/SuperManito/LinuxMirrors
synced 2025-11-02 23:40:25 +08:00
优化
This commit is contained in:
@@ -244,7 +244,7 @@ WARN="\033[1;43m 警告 ${PLAIN}"
|
||||
ERROR="\033[1;31m✘${PLAIN}"
|
||||
FAIL="\033[1;31m✘${PLAIN}"
|
||||
TIP="\033[1;44m 提示 ${PLAIN}"
|
||||
WORKING="\033[1;36m>_${PLAIN}"
|
||||
WORKING="\033[1;36m◉${PLAIN}"
|
||||
|
||||
function main() {
|
||||
permission_judgment
|
||||
@@ -618,7 +618,7 @@ function run_start() {
|
||||
}
|
||||
|
||||
function run_end() {
|
||||
echo -e "\n✨️ \033[1;34mPowered by https://linuxmirrors.cn\033[0m\n"
|
||||
echo -e "\n✨️ \033[3;1mPowered by \033[34mhttps://linuxmirrors.cn\033[0m\n"
|
||||
}
|
||||
|
||||
## 报错退出
|
||||
@@ -1619,7 +1619,7 @@ function change_mirrors_main() {
|
||||
print_diff
|
||||
fi
|
||||
## 更新软件源
|
||||
echo -e "\n$WORKING 开始${SYNC_MIRROR_TEXT}...\n"
|
||||
echo -e "\n$WORKING ${SYNC_MIRROR_TEXT}...\n"
|
||||
case "${SYSTEM_FACTIONS}" in
|
||||
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||
apt-get update
|
||||
@@ -2546,25 +2546,25 @@ function interactive_select_mirror() {
|
||||
unset options[${#options[@]}-1]
|
||||
local selected=0
|
||||
local start=0
|
||||
local page_size=$(($(tput lines) - 3)) # 减去1行用于显示提示信息
|
||||
local page_size=$(($(tput lines 2>/dev/null) - 3)) # 减去3行用于显示提示信息
|
||||
function clear_menu() {
|
||||
tput rc
|
||||
tput rc 2>/dev/null
|
||||
for ((i = 0; i < ${#options[@]} + 1; i++)); do
|
||||
echo -e "\r\033[K"
|
||||
done
|
||||
tput rc
|
||||
tput rc 2>/dev/null
|
||||
}
|
||||
function cleanup() {
|
||||
clear_menu
|
||||
tput rc
|
||||
tput cnorm
|
||||
tput rmcup
|
||||
echo -e "\n${TIP} ${RED}操作已取消${PLAIN}\n"
|
||||
tput rc 2>/dev/null
|
||||
tput cnorm 2>/dev/null
|
||||
tput rmcup 2>/dev/null
|
||||
echo -e "\n\033[1;44m 提示 \033[0m \033[31m操作已取消\033[0m\n"
|
||||
exit 130
|
||||
}
|
||||
function draw_menu() {
|
||||
tput clear
|
||||
tput cup 0 0
|
||||
tput clear 2>/dev/null
|
||||
tput cup 0 0 2>/dev/null
|
||||
echo -e "${message}"
|
||||
local end=$((start + page_size - 1))
|
||||
if [ $end -ge ${#options[@]} ]; then
|
||||
@@ -2586,9 +2586,9 @@ function interactive_select_mirror() {
|
||||
fi
|
||||
echo "$key"
|
||||
}
|
||||
tput smcup # 保存当前屏幕并切换到新屏幕
|
||||
tput sc # 保存光标位置
|
||||
tput civis # 隐藏光标
|
||||
tput smcup 2>/dev/null # 保存当前屏幕并切换到新屏幕
|
||||
tput sc 2>/dev/null # 保存光标位置
|
||||
tput civis 2>/dev/null # 隐藏光标
|
||||
trap "cleanup" INT TERM # 捕捉脚本结束时恢复光标
|
||||
draw_menu # 初始化菜单位置
|
||||
# 处理选择
|
||||
@@ -2623,9 +2623,9 @@ function interactive_select_mirror() {
|
||||
draw_menu
|
||||
done
|
||||
# clear_menu # 清除菜单
|
||||
tput cnorm # 恢复光标
|
||||
tput rmcup # 恢复之前的屏幕
|
||||
# tput rc # 恢复光标位置
|
||||
tput cnorm 2>/dev/null # 恢复光标
|
||||
tput rmcup 2>/dev/null # 恢复之前的屏幕
|
||||
# tput rc 2>/dev/null # 恢复光标位置
|
||||
# 处理结果
|
||||
_SELECT_RESULT="${options[$selected]}"
|
||||
}
|
||||
@@ -2638,19 +2638,19 @@ function interactive_select_boolean() {
|
||||
local original_line
|
||||
function store_position() {
|
||||
# 保存菜单开始前的行位置
|
||||
original_line=$(tput lines)
|
||||
original_line=$(tput lines 2>/dev/null)
|
||||
}
|
||||
function clear_menu() {
|
||||
# 向上移动到菜单开始位置并清除菜单
|
||||
for ((i = 0; i < ${menu_height}; i++)); do
|
||||
tput cuu1 # 光标上移一行
|
||||
tput el # 清除当前行
|
||||
tput cuu1 2>/dev/null # 光标上移一行
|
||||
tput el 2>/dev/null # 清除当前行
|
||||
done
|
||||
}
|
||||
function cleanup() {
|
||||
clear_menu
|
||||
tput cnorm
|
||||
echo -e "\n${TIP} ${RED}操作已取消${PLAIN}\n"
|
||||
tput cnorm 2>/dev/null
|
||||
echo -e "\n\033[1;44m 提示 \033[0m \033[31m操作已取消\033[0m\n"
|
||||
exit 130
|
||||
}
|
||||
function draw_menu() {
|
||||
@@ -2658,9 +2658,9 @@ function interactive_select_boolean() {
|
||||
echo -e "╭─ ${message}"
|
||||
echo -e "│"
|
||||
if [ "$selected" -eq 0 ]; then
|
||||
echo -e "╰─ \033[32m●\033[0m 是\033[2m / ○ 否\033[0m"
|
||||
echo -e "╰─ \033[34m●\033[0m 是\033[2m / ○ 否\033[0m"
|
||||
else
|
||||
echo -e "╰─ \033[2m○ 是 / \033[0m\033[32m●\033[0m 否"
|
||||
echo -e "╰─ \033[2m○ 是 / \033[0m\033[34m●\033[0m 否"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -2672,8 +2672,8 @@ function interactive_select_boolean() {
|
||||
fi
|
||||
echo "$key"
|
||||
}
|
||||
tput civis # 隐藏光标
|
||||
store_position # 记录当前位置
|
||||
tput civis 2>/dev/null # 隐藏光标
|
||||
store_position # 记录当前位置
|
||||
trap "cleanup" INT TERM
|
||||
draw_menu # 初始化菜单位置
|
||||
# 处理选择
|
||||
@@ -2713,7 +2713,7 @@ function interactive_select_boolean() {
|
||||
echo -e "╰─ \033[2m○ 是 / \033[0m\033[32m●\033[0m \033[1m否\033[0m"
|
||||
_SELECT_RESULT="false"
|
||||
fi
|
||||
tput cnorm # 恢复光标
|
||||
tput cnorm 2>/dev/null # 恢复光标
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
|
||||
@@ -120,7 +120,7 @@ WARN="\033[1;43m 警告 ${PLAIN}"
|
||||
ERROR="\033[1;31m✘${PLAIN}"
|
||||
FAIL="\033[1;31m✘${PLAIN}"
|
||||
TIP="\033[1;44m 提示 ${PLAIN}"
|
||||
WORKING="\033[1;36m>_${PLAIN}"
|
||||
WORKING="\033[1;36m◉${PLAIN}"
|
||||
|
||||
function main() {
|
||||
permission_judgment
|
||||
@@ -322,7 +322,7 @@ function run_start() {
|
||||
|
||||
## 运行结束
|
||||
function run_end() {
|
||||
echo -e "\n✨️ \033[1;34mPowered by https://linuxmirrors.cn\033[0m\n"
|
||||
echo -e "\n✨️ \033[3;1mPowered by \033[34mhttps://linuxmirrors.cn\033[0m\n"
|
||||
# echo -e "\n ------ 脚本运行结束 ------"
|
||||
# echo -e ' \033[0;1;35;95m┌─\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m──\033[0;1;34;94m──\033[0;1;35;95m──\033[0;1;31;91m──\033[0;1;33;93m──\033[0;1;32;92m──\033[0;1;36;96m┐\033[0m'
|
||||
# echo -e ' \033[0;1;31;91m│▞\033[0;1;33;93m▀▖\033[0m \033[0;1;32;92m▙▗\033[0;1;36;96m▌\033[0m \033[0;1;31;91m▗\033[0;1;33;93m▐\033[0m \033[0;1;34;94m│\033[0m'
|
||||
@@ -718,7 +718,7 @@ function install_dependency_packages() {
|
||||
rm -rf $Dir_YumRepos/*docker*.repo
|
||||
;;
|
||||
esac
|
||||
echo -e "\n$WORKING 开始${SYNC_MIRROR_TEXT}...\n"
|
||||
echo -e "\n$WORKING ${SYNC_MIRROR_TEXT}...\n"
|
||||
case "${SYSTEM_FACTIONS}" in
|
||||
"${SYSTEM_DEBIAN}")
|
||||
package_manager="apt-get"
|
||||
@@ -1098,25 +1098,25 @@ function interactive_select_mirror() {
|
||||
unset options[${#options[@]}-1]
|
||||
local selected=0
|
||||
local start=0
|
||||
local page_size=$(($(tput lines) - 3)) # 减去1行用于显示提示信息
|
||||
local page_size=$(($(tput lines 2>/dev/null) - 3)) # 减去3行用于显示提示信息
|
||||
function clear_menu() {
|
||||
tput rc
|
||||
tput rc 2>/dev/null
|
||||
for ((i = 0; i < ${#options[@]} + 1; i++)); do
|
||||
echo -e "\r\033[K"
|
||||
done
|
||||
tput rc
|
||||
tput rc 2>/dev/null
|
||||
}
|
||||
function cleanup() {
|
||||
clear_menu
|
||||
tput rc
|
||||
tput cnorm
|
||||
tput rmcup
|
||||
echo -e "\n${TIP} ${RED}操作已取消${PLAIN}\n"
|
||||
tput rc 2>/dev/null
|
||||
tput cnorm 2>/dev/null
|
||||
tput rmcup 2>/dev/null
|
||||
echo -e "\n\033[1;44m 提示 \033[0m \033[31m操作已取消\033[0m\n"
|
||||
exit 130
|
||||
}
|
||||
function draw_menu() {
|
||||
tput clear
|
||||
tput cup 0 0
|
||||
tput clear 2>/dev/null
|
||||
tput cup 0 0 2>/dev/null
|
||||
echo -e "${message}"
|
||||
local end=$((start + page_size - 1))
|
||||
if [ $end -ge ${#options[@]} ]; then
|
||||
@@ -1138,9 +1138,9 @@ function interactive_select_mirror() {
|
||||
fi
|
||||
echo "$key"
|
||||
}
|
||||
tput smcup # 保存当前屏幕并切换到新屏幕
|
||||
tput sc # 保存光标位置
|
||||
tput civis # 隐藏光标
|
||||
tput smcup 2>/dev/null # 保存当前屏幕并切换到新屏幕
|
||||
tput sc 2>/dev/null # 保存光标位置
|
||||
tput civis 2>/dev/null # 隐藏光标
|
||||
trap "cleanup" INT TERM # 捕捉脚本结束时恢复光标
|
||||
draw_menu # 初始化菜单位置
|
||||
# 处理选择
|
||||
@@ -1175,9 +1175,9 @@ function interactive_select_mirror() {
|
||||
draw_menu
|
||||
done
|
||||
# clear_menu # 清除菜单
|
||||
tput cnorm # 恢复光标
|
||||
tput rmcup # 恢复之前的屏幕
|
||||
# tput rc # 恢复光标位置
|
||||
tput cnorm 2>/dev/null # 恢复光标
|
||||
tput rmcup 2>/dev/null # 恢复之前的屏幕
|
||||
# tput rc 2>/dev/null # 恢复光标位置
|
||||
# 处理结果
|
||||
_SELECT_RESULT="${options[$selected]}"
|
||||
}
|
||||
@@ -1190,19 +1190,19 @@ function interactive_select_boolean() {
|
||||
local original_line
|
||||
function store_position() {
|
||||
# 保存菜单开始前的行位置
|
||||
original_line=$(tput lines)
|
||||
original_line=$(tput lines 2>/dev/null)
|
||||
}
|
||||
function clear_menu() {
|
||||
# 向上移动到菜单开始位置并清除菜单
|
||||
for ((i = 0; i < ${menu_height}; i++)); do
|
||||
tput cuu1 # 光标上移一行
|
||||
tput el # 清除当前行
|
||||
tput cuu1 2>/dev/null # 光标上移一行
|
||||
tput el 2>/dev/null # 清除当前行
|
||||
done
|
||||
}
|
||||
function cleanup() {
|
||||
clear_menu
|
||||
tput cnorm
|
||||
echo -e "\n${TIP} ${RED}操作已取消${PLAIN}\n"
|
||||
tput cnorm 2>/dev/null
|
||||
echo -e "\n\033[1;44m 提示 \033[0m \033[31m操作已取消\033[0m\n"
|
||||
exit 130
|
||||
}
|
||||
function draw_menu() {
|
||||
@@ -1210,9 +1210,9 @@ function interactive_select_boolean() {
|
||||
echo -e "╭─ ${message}"
|
||||
echo -e "│"
|
||||
if [ "$selected" -eq 0 ]; then
|
||||
echo -e "╰─ \033[32m●\033[0m 是\033[2m / ○ 否\033[0m"
|
||||
echo -e "╰─ \033[34m●\033[0m 是\033[2m / ○ 否\033[0m"
|
||||
else
|
||||
echo -e "╰─ \033[2m○ 是 / \033[0m\033[32m●\033[0m 否"
|
||||
echo -e "╰─ \033[2m○ 是 / \033[0m\033[34m●\033[0m 否"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1224,8 +1224,8 @@ function interactive_select_boolean() {
|
||||
fi
|
||||
echo "$key"
|
||||
}
|
||||
tput civis # 隐藏光标
|
||||
store_position # 记录当前位置
|
||||
tput civis 2>/dev/null # 隐藏光标
|
||||
store_position # 记录当前位置
|
||||
trap "cleanup" INT TERM
|
||||
draw_menu # 初始化菜单位置
|
||||
# 处理选择
|
||||
@@ -1265,7 +1265,7 @@ function interactive_select_boolean() {
|
||||
echo -e "╰─ \033[2m○ 是 / \033[0m\033[32m●\033[0m \033[1m否\033[0m"
|
||||
_SELECT_RESULT="false"
|
||||
fi
|
||||
tput cnorm # 恢复光标
|
||||
tput cnorm 2>/dev/null # 恢复光标
|
||||
}
|
||||
|
||||
handle_command_options "$@"
|
||||
|
||||
Reference in New Issue
Block a user