From 5907329289b8b9da1707a7093f8d9be59622a11c Mon Sep 17 00:00:00 2001 From: fscarmen <62703343+fscarmen@users.noreply.github.com> Date: Sat, 11 Jun 2022 13:58:11 +0800 Subject: [PATCH] Update return.sh --- return.sh | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/return.sh b/return.sh index d420951..a499b01 100644 --- a/return.sh +++ b/return.sh @@ -7,8 +7,8 @@ green(){ echo -e "\033[32m\033[01m$1\033[0m"; } reading(){ read -rp "$(green "$1")" "$2"; } check_dependencies(){ for c in $@; do -type -p $c >/dev/null 2>&1 || (yellow " $(eval echo "安装 $c 中…… " && ${PACKAGE_INSTALL[b]} "$c") || (yellow " $(eval echo "${T[${L}8]}") " && ${PACKAGE_UPDATE[b]} && ${PACKAGE_INSTALL[b]} "$c") -! type -p $c >/dev/null 2>&1 && yellow " $(eval echo "${T[${L}9]}") " && exit 1; done; } +type -p $c >/dev/null 2>&1 || (yellow " 安装 $c 中…… " && ${PACKAGE_INSTALL[b]} "$c") || (yellow " 先升级软件库才能继续安装 \$c,时间较长,请耐心等待…… " && ${PACKAGE_UPDATE[b]} && ${PACKAGE_INSTALL[b]} "$c") +! type -p $c >/dev/null 2>&1 && yellow " 安装 \$c 失败,脚本中止,问题反馈:[https://github.com/fscarmen/tools/issues] " && exit 1; done; } ARCHITECTURE="$(uname -m)" case $ARCHITECTURE in @@ -20,8 +20,11 @@ esac # 多方式判断操作系统,试到有值为止。只支持 Debian 10/11、Ubuntu 18.04/20.04 或 CentOS 7/8 ,如非上述操作系统,退出脚本 if [[ $ARCHITECTURE = i386 ]]; then - b=0;PACKAGE_INSTALL=("brew install") - + sw_vesrs 2>/dev/null | grep -qvi macos && red " 本脚本只支持 Debian、Ubuntu、CentOS、Alpine 或者 macOS 系统,问题反馈:[https://github.com/fscarmen/warp_unlock/issues] " && exit 1 + b=0 + SYSTEM='macOS' + PACKAGE_INSTALL=("brew install") + else CMD=( "$(grep -i pretty_name /etc/os-release 2>/dev/null | cut -d \" -f2)" "$(hostnamectl 2>/dev/null | grep -i system | cut -d : -f2)" @@ -31,23 +34,23 @@ else "$(grep . /etc/issue 2>/dev/null | cut -d \\ -f1 | sed '/^[ ]*$/d')" ) + REGEX=("debian" "ubuntu" "centos|red hat|kernel|oracle linux|amazon linux|alma|rocky") + RELEASE=("Debian" "Ubuntu" "CentOS") + PACKAGE_UPDATE=("apt -y update" "apt -y update" "yum -y update") + PACKAGE_INSTALL=("apt -y install" "apt -y install" "yum -y install") + for a in "${CMD[@]}"; do SYS="$a" && [[ -n $SYS ]] && break done + + for ((b=0; b<${#REGEX[@]}; b++)); do + [[ $(echo "$SYS" | tr '[:upper:]' '[:lower:]') =~ ${REGEX[b]} ]] && SYSTEM="${RELEASE[b]}" && break + done fi -check_dependencies sudo curl - -REGEX=("debian" "ubuntu" "centos|red hat|kernel|oracle linux|amazon linux|alma|rocky") -RELEASE=("Debian" "Ubuntu" "CentOS") -PACKAGE_UPDATE=("apt -y update" "apt -y update" "yum -y update") -PACKAGE_INSTALL=("apt -y install" "apt -y install" "yum -y install") - -for ((b=0; b<${#REGEX[@]}; b++)); do - [[ $(echo "$SYS" | tr '[:upper:]' '[:lower:]') =~ ${REGEX[b]} ]] && SYSTEM="${RELEASE[b]}" && break -done - [[ -z $SYSTEM ]] && red " 本脚本只支持 Debian、Ubuntu、CentOS 或 Alpine 系统,问题反馈:[https://github.com/fscarmen/warp_unlock/issues] " && exit 1 +[[ -z $SYSTEM ]] && red " 本脚本只支持 Debian、Ubuntu、CentOS、Alpine 或者 macOS 系统,问题反馈:[https://github.com/fscarmen/warp_unlock/issues] " && exit 1 +check_dependencies curl sudo ip=$1 green "\n 本脚说明:测 VPS ——> 对端 经过的地区及线路,填本地IP就是测回程,核心程序来由: https://www.ipip.net/ ,请知悉!" [[ -z "$ip" || $ip = '[DESTINATION_IP]' ]] && reading "\n 请输入目的地 IP: " ip