From cbf08bdb264c7ef12d850c190bcce26d21539d6f Mon Sep 17 00:00:00 2001 From: xiagw Date: Thu, 17 Sep 2020 11:43:00 +0700 Subject: [PATCH] fix function get_versionchange to if -n,reduce indent --- install-release.sh | 85 +++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/install-release.sh b/install-release.sh index a7de2ab..665cb01 100644 --- a/install-release.sh +++ b/install-release.sh @@ -182,61 +182,60 @@ get_version() { # 0: Install or update V2Ray. # 1: Installed or no new version of V2Ray. # 2: Install the specified version of V2Ray. - if [[ -z "$VERSION" ]]; then - # Determine the version number for V2Ray installed from a local file - if [[ -f '/usr/local/bin/v2ray' ]]; then - VERSION="$(/usr/local/bin/v2ray -version)" - CURRENT_VERSION="$(version_number $(echo "$VERSION" | head -n 1 | awk -F ' ' '{print $2}'))" - if [[ "$LOCAL_INSTALL" -eq '1' ]]; then - RELEASE_VERSION="$CURRENT_VERSION" - return - fi + if [[ -n "$VERSION" ]]; then + RELEASE_VERSION="$(version_number "$VERSION")" + return 2 + fi + # Determine the version number for V2Ray installed from a local file + if [[ -f '/usr/local/bin/v2ray' ]]; then + VERSION="$(/usr/local/bin/v2ray -version)" + CURRENT_VERSION="$(version_number "$(echo "$VERSION" | awk 'NR==1 {print $2}')")" + if [[ "$LOCAL_INSTALL" -eq '1' ]]; then + RELEASE_VERSION="$CURRENT_VERSION" + return fi - # Get V2Ray release version number - TMP_FILE="$(mktemp)" - install_software curl - # DO NOT QUOTE THESE `${PROXY}` VARIABLES! - if ! "curl" ${PROXY} -o "$TMP_FILE" 'https://api.github.com/repos/v2fly/v2ray-core/releases/latest'; then - "rm" "$TMP_FILE" - echo 'error: Failed to get release list, please check your network.' - exit 1 - fi - RELEASE_LATEST="$(sed 'y/,/\n/' "$TMP_FILE" | grep 'tag_name' | awk -F '"' '{print $4}')" + fi + # Get V2Ray release version number + TMP_FILE="$(mktemp)" + install_software curl + # DO NOT QUOTE THESE `${PROXY}` VARIABLES! + if ! "curl" ${PROXY} -o "$TMP_FILE" 'https://api.github.com/repos/v2fly/v2ray-core/releases/latest'; then "rm" "$TMP_FILE" - RELEASE_VERSION="$(version_number "$RELEASE_LATEST")" - # Compare V2Ray version numbers - if [[ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]]; then - RELEASE_VERSIONSION_NUMBER="${RELEASE_VERSION#v}" - RELEASE_MAJOR_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER%%.*}" - RELEASE_MINOR_VERSION_NUMBER="$(echo "$RELEASE_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')" - RELEASE_MINIMUM_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER##*.}" - CURRENT_VERSIONSION_NUMBER="$(echo "${CURRENT_VERSION#v}" | sed 's/-.*//')" - CURRENT_MAJOR_VERSION_NUMBER="${CURRENT_VERSIONSION_NUMBER%%.*}" - CURRENT_MINOR_VERSION_NUMBER="$(echo "$CURRENT_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')" - CURRENT_MINIMUM_VERSION_NUMBER="${CURRENT_VERSIONSION_NUMBER##*.}" - if [[ "$RELEASE_MAJOR_VERSION_NUMBER" -gt "$CURRENT_MAJOR_VERSION_NUMBER" ]]; then + echo 'error: Failed to get release list, please check your network.' + exit 1 + fi + RELEASE_LATEST="$(sed 'y/,/\n/' "$TMP_FILE" | grep 'tag_name' | awk -F '"' '{print $4}')" + "rm" "$TMP_FILE" + RELEASE_VERSION="$(version_number "$RELEASE_LATEST")" + # Compare V2Ray version numbers + if [[ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]]; then + RELEASE_VERSIONSION_NUMBER="${RELEASE_VERSION#v}" + RELEASE_MAJOR_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER%%.*}" + RELEASE_MINOR_VERSION_NUMBER="$(echo "$RELEASE_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')" + RELEASE_MINIMUM_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER##*.}" + CURRENT_VERSIONSION_NUMBER="$(echo "${CURRENT_VERSION#v}" | sed 's/-.*//')" + CURRENT_MAJOR_VERSION_NUMBER="${CURRENT_VERSIONSION_NUMBER%%.*}" + CURRENT_MINOR_VERSION_NUMBER="$(echo "$CURRENT_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')" + CURRENT_MINIMUM_VERSION_NUMBER="${CURRENT_VERSIONSION_NUMBER##*.}" + if [[ "$RELEASE_MAJOR_VERSION_NUMBER" -gt "$CURRENT_MAJOR_VERSION_NUMBER" ]]; then + return 0 + elif [[ "$RELEASE_MAJOR_VERSION_NUMBER" -eq "$CURRENT_MAJOR_VERSION_NUMBER" ]]; then + if [[ "$RELEASE_MINOR_VERSION_NUMBER" -gt "$CURRENT_MINOR_VERSION_NUMBER" ]]; then return 0 - elif [[ "$RELEASE_MAJOR_VERSION_NUMBER" -eq "$CURRENT_MAJOR_VERSION_NUMBER" ]]; then - if [[ "$RELEASE_MINOR_VERSION_NUMBER" -gt "$CURRENT_MINOR_VERSION_NUMBER" ]]; then + elif [[ "$RELEASE_MINOR_VERSION_NUMBER" -eq "$CURRENT_MINOR_VERSION_NUMBER" ]]; then + if [[ "$RELEASE_MINIMUM_VERSION_NUMBER" -gt "$CURRENT_MINIMUM_VERSION_NUMBER" ]]; then return 0 - elif [[ "$RELEASE_MINOR_VERSION_NUMBER" -eq "$CURRENT_MINOR_VERSION_NUMBER" ]]; then - if [[ "$RELEASE_MINIMUM_VERSION_NUMBER" -gt "$CURRENT_MINIMUM_VERSION_NUMBER" ]]; then - return 0 - else - return 1 - fi else return 1 fi else return 1 fi - elif [[ "$RELEASE_VERSION" == "$CURRENT_VERSION" ]]; then + else return 1 fi - else - RELEASE_VERSION="$(version_number "$VERSION")" - return 2 + elif [[ "$RELEASE_VERSION" == "$CURRENT_VERSION" ]]; then + return 1 fi }