From f12db7e55f88a7bf42f9cbf83204a0219994b47a Mon Sep 17 00:00:00 2001 From: dami Date: Mon, 18 Aug 2025 16:03:31 +0800 Subject: [PATCH] Update install_dev.sh --- scripts/install_dev.sh | 106 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/scripts/install_dev.sh b/scripts/install_dev.sh index 1eae92ac9..22cf646b5 100755 --- a/scripts/install_dev.sh +++ b/scripts/install_dev.sh @@ -1,9 +1,23 @@ #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin export PATH + +RED='\033[31m' +GREEN='\033[32m' +YELLOW='\033[33m' +BLUE='\033[34m' +PLAIN='\033[0m' +BOLD='\033[1m' +SUCCESS='[\033[32mOK\033[0m]' +COMPLETE='[\033[32mDONE\033[0m]' +WARN='[\033[33mWARN\033[0m]' +ERROR='[\033[31mERROR\033[0m]' +WORKING='[\033[34m*\033[0m]' + # LANG=en_US.UTF-8 is64bit=`getconf LONG_BIT` + if [ -f /www/server/mdserver-web/tools.py ];then echo -e "存在旧版代码,不能安装!,已知风险的情况下" echo -e "rm -rf /www/server/mdserver-web" @@ -81,6 +95,12 @@ if [ "$EUID" -ne 0 ] && [ "$OSNAME" != "macos" ];then exit fi +ARCH=$(uname -m) + +SYSTEM_NAME=$(cat $LinuxRelease | grep -E "^NAME=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g") +SYSTEM_VERSION_NUMBER=$(cat /etc/os-release | grep -E "VERSION_ID=" | awk -F '=' '{print$2}' | sed "s/[\'\"]//g") +SOURCE_BRANCH=${SYSTEM_JUDGMENT,,} + # HTTP_PREFIX="https://" # LOCAL_ADDR=common # ping -c 1 github.com > /dev/null 2>&1 @@ -104,6 +124,92 @@ declare -A PROXY_URL PROXY_URL["gh-proxy.com"]="https://gh-proxy.com" +SOURCE_LIST_KEY_SORT_TMP=$(echo ${!PROXY_URL[@]} | tr ' ' '\n' | sort -n) +SOURCE_LIST_KEY=(${SOURCE_LIST_KEY_SORT_TMP//'\n'/}) +SOURCE_LIST_LEN=${#PROXY_URL[*]} + +function AutoSizeStr(){ + NAME_STR=$1 + NAME_NUM=$2 + + NAME_STR_LEN=`echo "$NAME_STR" | wc -L` + NAME_NUM_LEN=`echo "$NAME_NUM" | wc -L` + + fix_len=35 + remaining_len=`expr $fix_len - $NAME_STR_LEN - $NAME_NUM_LEN` + FIX_SPACE=' ' + for ((ass_i=1;ass_i<=$remaining_len;ass_i++)) + do + FIX_SPACE="$FIX_SPACE " + done + echo -e " ❖ ${1}${FIX_SPACE}${2})" +} + +function ChooseProxyURL(){ + clear + echo -e '+---------------------------------------------------+' + echo -e '| |' + echo -e '| ============================================= |' + echo -e '| |' + echo -e '| 欢迎使用 Linux 一键安装mdserver-web面板源码 |' + echo -e '| |' + echo -e '| ============================================= |' + echo -e '| |' + echo -e '+---------------------------------------------------+' + echo -e '' + echo -e '#####################################################' + echo -e '' + echo -e ' 提供以下代理地址可供选择:' + echo -e '' + echo -e '#####################################################' + echo -e '' + cm_i=0 + for V in ${SOURCE_LIST_KEY[@]}; do + num=`expr $cm_i + 1` + AutoSizeStr "${V}" "$num" + cm_i=`expr $cm_i + 1` + done + echo -e '' + echo -e '#####################################################' + echo -e '' + echo -e " 运行环境 ${BLUE}${SYSTEM_NAME} ${SYSTEM_VERSION_NUMBER} ${SYSTEM_ARCH}${PLAIN}" + echo -e " 系统时间 ${BLUE}$(date "+%Y-%m-%d %H:%M:%S")${PLAIN}" + echo -e '' + echo -e '#####################################################' + CHOICE_A=$(echo -e "\n${BOLD}└─ 请选择并输入你想使用的代理地址 [ 1-${SOURCE_LIST_LEN} ]:${PLAIN}") + + read -p "${CHOICE_A}" INPUT + # echo $INPUT + if [ "$INPUT" == "" ];then + INPUT=1 + TMP_INPUT=`expr $INPUT - 1` + INPUT_KEY=${SOURCE_LIST_KEY[$TMP_INPUT]} + echo -e "\n默认选择[${BLUE}${INPUT_KEY}${PLAIN}]安装!" + fi + + if [ "$INPUT" -lt "0" ];then + INPUT=1 + TMP_INPUT=`expr $INPUT - 1` + INPUT_KEY=${SOURCE_LIST_KEY[$TMP_INPUT]} + echo -e "\n低于边界错误!选择[${BLUE}${INPUT_KEY}${PLAIN}]安装!" + sleep 2s + fi + + if [ "$INPUT" -gt "${SOURCE_LIST_LEN}" ];then + INPUT=${SOURCE_LIST_LEN} + TMP_INPUT=`expr $INPUT - 1` + INPUT_KEY=${SOURCE_LIST_KEY[$TMP_INPUT]} + echo -e "\n超出边界错误!选择[${BLUE}${INPUT_KEY}${PLAIN}]安装!" + sleep 2s + fi + + INPUT=`expr $INPUT - 1` + INPUT_KEY=${SOURCE_LIST_KEY[$INPUT]} + CHOICE_VERSION=${PY_VERSION[$INPUT_KEY]} +} + +ChooseProxyURL + if [ $OSNAME != "macos" ];then if id www &> /dev/null ;then