修复软件安装选择逻辑,优化信息逻辑

This commit is contained in:
lsy 2025-01-19 21:49:29 +08:00
parent 69ef7666f9
commit a29c459709
3 changed files with 121 additions and 112 deletions

View File

@ -1,34 +1,39 @@
#!/bin/bash #!/bin/bash
declare cpu_info=$(cat /proc/cpuinfo) declare -A info_dict
declare cpu_moudle=$(echo "$cpu_info" | grep 'model name' | awk -F ': ' '{print $2}' | head -n 1) declare -a info_array
echo "CPU 型号 $cpu_moudle"
declare cpu_cores=$(echo "$cpu_info" | grep 'cpu cores' | awk -F ': ' '{print $2}' | head -n 1) cpu_info=$(cat /proc/cpuinfo)
echo "CPU 核心数 $cpu_cores" info_dict["CPU 型号"]=$(echo "$cpu_info" | grep -m1 -oP 'model name\s*:\s*\K.+')
declare cpu_mhz=$(echo "$cpu_info"| grep 'cpu MHz' | awk -F ': ' '{print $2}' | head -n 1) info_dict["CPU 核心数"]=$(echo "$cpu_info" | grep -m1 -oP 'cpu cores\s*:\s*\K\d+')
echo "CPU 频率 $cpu_mhz" info_dict["CPU 频率"]=$(echo "$cpu_info" | grep -m1 -oP 'cpu MHz\s*:\s*\K.+')
declare cpu_cache=$(echo "$cpu_info"| grep 'cache size' | awk -F ': ' '{print $2}' | head -n 1) info_dict["CPU 缓存"]=$(echo "$cpu_info" | grep -m1 -oP 'cache size\s*:\s*\K.+')
echo "CPU 缓存 $cpu_cache"
declare swap=$(free -m | awk '/Swap/ {sum += $2} END {print sum / 1024 " GB"}') info_dict["SWAP"]=$(free -m | awk '/Swap/ {printf "%.2f GB", $2/1024}')
echo "SWAP $swap" info_dict["硬盘空间"]=$(lsblk -b -d -o SIZE,NAME | grep -vE "loop|ram" | awk '{sum += $1} END {printf "%.2f GB", sum/1024/1024/1024}')
declare disk=$(lsblk -b -d -o SIZE,NAME | grep -vE "loop|ram" | awk '{sum += $1} END {print sum / 1024 /1024 / 1024 " GB"}') info_dict["系统在线时间"]=$(awk '{printf("%d天 %d小时 %d分钟", $1/86400, ($1%86400)/3600, ($1%3600)/60)}' /proc/uptime)
echo "硬盘空间 $disk" info_dict["内核"]=$(uname -r)
declare uptime_time=$(awk '{printf("%d天 %d小时 %d分钟\n", $1/86400, ($1%86400)/3600, ($1%3600)/60)}' /proc/uptime) info_dict["TCP加速方式"]=$(sysctl -n net.ipv4.tcp_congestion_control)
echo "系统在线时间:$uptime_time " info_dict["虚拟化框架"]=$(systemd-detect-virt)
declare version=$(cat /etc/os-release | grep -E '^ID=' | awk -F= '{print $2}')
echo "系 统 $version" ip_info=$(curl -s https://ip.lsy22.com/)
declare kernel=$(cat /proc/version | awk '{print $3}') info_dict["IPV4 位置"]=$(echo "$ip_info" | grep -oP '"ipv4":\s*"\K[^"]+')
echo "内 核 $kernel" info_dict["IPV6 位置"]=$(echo "$ip_info" | grep -oP '"ipv6":\s*"\K[^"]+')
declare tcp_mode=$(sysctl -a | grep tcp_congestion_control | awk -F ' = ' '{print $2}')
echo "TCP加速方式 $tcp_mode" info_array=(
declare systemd_detect_virt=$(systemd-detect-virt) "CPU 型号" "CPU 核心数" "CPU 频率" "CPU 缓存"
echo "虚拟化框架 $systemd_detect_virt" "SWAP" "硬盘空间" "系统在线时间" "内核" "TCP加速方式"
declare ip_info=$(curl -s https://ip.lsy22.com/) "虚拟化框架" "IPV4 位置" "IPV6 位置"
declare ip_v4=$(echo $ip_info | grep -oP '"ipv4":\s*"\K[^"]+') )
echo "IPV4 位置 $ip_v4"
declare ip_v6=$(echo $ip_info | grep -oP '"ipv6":\s*"\K[^"]+') max_length=$(printf "%s\n" "${info_array[@]}" | awk '{print length}' | sort -nr | head -1)
echo "IPV6 位置 $ip_v6"
for title in "${info_array[@]}"; do
printf "%-${max_length}s : %s\n" "$title" "${info_dict[$title]}"
done
echo -e "\n待办项目"
echo "CPU 测试中" echo "CPU 测试中"
echo "内存测试中" echo "内存测试中"
echo "以下为ipv4测试" echo "IPV4测试中"
echo "以下为ipv6测试" echo "IPV6测试中"
echo "以下为速度测试" echo "速度测试"

View File

@ -55,11 +55,14 @@ if [[ -z $selected_packages ]];then
selected_packages="$i" selected_packages="$i"
fi fi
done done
elif ! [[ $selected_packages -ge 1 && $selected_packages -le ${#package_options[@]} || $selected_packages =~ ([1-${#package_options[@]}][\s]?)+ ]];then else
echo "输入错误" for i in $selected_packages; do
if ! [[ $i =~ ^[1-9]+$ && $i -gt 1 || $i -lt ${#package_options[@]} ]]; then
echo "输入错误$i"
exit exit
fi fi
done
fi
for i in $selected_packages; do for i in $selected_packages; do
if [[ ${package_options[${package_names[$i]}]} == 0 ]]; then if [[ ${package_options[${package_names[$i]}]} == 0 ]]; then
eval "$install_command ${package_names[$i]}" eval "$install_command ${package_names[$i]}"
@ -105,7 +108,7 @@ if [[ ${package_options['docker']} == 2 ]];then
chmod a+r /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc
echo \ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] ${docker_mirror}/linux/${os_version} \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] ${docker_mirror}/linux/${os_version} \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
tee /etc/apt/sources.list.d/docker.list >/dev/null tee /etc/apt/sources.list.d/docker.list >/dev/null
${package_manager} update ${package_manager} update
${package_manager} install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y ${package_manager} install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

View File

@ -70,6 +70,7 @@
* **bbr_open** 开启 BBR 网络加速 * **bbr_open** 开启 BBR 网络加速
* **language** 系统语言切换(中英文) * **language** 系统语言切换(中英文)
* **reinstall** 系统重装工具 * **reinstall** 系统重装工具
* **info** 系统信息
#### 用户管理 (User) #### 用户管理 (User)