Explorar o código

加入下载失败重试

Jrohy %!s(int64=4) %!d(string=hai) anos
pai
achega
054d6d0879
Modificáronse 1 ficheiros con 15 adicións e 4 borrados
  1. 15 4
      install.sh

+ 15 - 4
install.sh

@@ -130,10 +130,21 @@ installGo(){
         fi
     fi
     FILE_NAME="go${INSTALL_VERSION}.$VDIS.tar.gz"
-    curl -L https://dl.google.com/go/$FILE_NAME -o $FILE_NAME
-    [[ -e /usr/local/go ]] && rm -rf /usr/local/go
-    tar -C /usr/local -xzf $FILE_NAME
-    rm -f $FILE_NAME
+    local TEMP_PATH=`mktemp -d`
+    local INSTALL_SUCCESS=0
+
+    for((i=1;i<=5;i++));  
+    do
+        curl -H 'Cache-Control: no-cache' -L https://dl.google.com/go/$FILE_NAME -o $FILE_NAME
+        tar -C $TEMP_PATH -xzf $FILE_NAME
+        [[ $? != 0 ]] && { colorEcho $YELLOW "\n解压失败, 正在重新下载包.."; continue; }
+        [[ -e /usr/local/go ]] && rm -rf /usr/local/go
+        mv $TEMP_PATH/go /usr/local/
+        INSTALL_SUCCESS=1
+        break
+    done
+    rm -rf $TEMP_PATH $FILE_NAME
+    [[ $INSTALL_SUCCESS == 0 ]] && { colorEcho $RED "\n安装失败!"; exit 0; }
 }
 
 main(){