fix function get_versionchange to if -n,reduce indent

pull/114/head
xiagw 2020-09-17 11:43:00 +07:00 committed by IceCodeNew
parent f607e17837
commit cbf08bdb26
1 changed files with 42 additions and 43 deletions

View File

@ -182,61 +182,60 @@ get_version() {
# 0: Install or update V2Ray. # 0: Install or update V2Ray.
# 1: Installed or no new version of V2Ray. # 1: Installed or no new version of V2Ray.
# 2: Install the specified version of V2Ray. # 2: Install the specified version of V2Ray.
if [[ -z "$VERSION" ]]; then if [[ -n "$VERSION" ]]; then
# Determine the version number for V2Ray installed from a local file RELEASE_VERSION="$(version_number "$VERSION")"
if [[ -f '/usr/local/bin/v2ray' ]]; then return 2
VERSION="$(/usr/local/bin/v2ray -version)" fi
CURRENT_VERSION="$(version_number $(echo "$VERSION" | head -n 1 | awk -F ' ' '{print $2}'))" # Determine the version number for V2Ray installed from a local file
if [[ "$LOCAL_INSTALL" -eq '1' ]]; then if [[ -f '/usr/local/bin/v2ray' ]]; then
RELEASE_VERSION="$CURRENT_VERSION" VERSION="$(/usr/local/bin/v2ray -version)"
return CURRENT_VERSION="$(version_number "$(echo "$VERSION" | awk 'NR==1 {print $2}')")"
fi if [[ "$LOCAL_INSTALL" -eq '1' ]]; then
RELEASE_VERSION="$CURRENT_VERSION"
return
fi fi
# Get V2Ray release version number fi
TMP_FILE="$(mktemp)" # Get V2Ray release version number
install_software curl TMP_FILE="$(mktemp)"
# DO NOT QUOTE THESE `${PROXY}` VARIABLES! install_software curl
if ! "curl" ${PROXY} -o "$TMP_FILE" 'https://api.github.com/repos/v2fly/v2ray-core/releases/latest'; then # DO NOT QUOTE THESE `${PROXY}` VARIABLES!
"rm" "$TMP_FILE" if ! "curl" ${PROXY} -o "$TMP_FILE" 'https://api.github.com/repos/v2fly/v2ray-core/releases/latest'; 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" "rm" "$TMP_FILE"
RELEASE_VERSION="$(version_number "$RELEASE_LATEST")" echo 'error: Failed to get release list, please check your network.'
# Compare V2Ray version numbers exit 1
if [[ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]]; then fi
RELEASE_VERSIONSION_NUMBER="${RELEASE_VERSION#v}" RELEASE_LATEST="$(sed 'y/,/\n/' "$TMP_FILE" | grep 'tag_name' | awk -F '"' '{print $4}')"
RELEASE_MAJOR_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER%%.*}" "rm" "$TMP_FILE"
RELEASE_MINOR_VERSION_NUMBER="$(echo "$RELEASE_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')" RELEASE_VERSION="$(version_number "$RELEASE_LATEST")"
RELEASE_MINIMUM_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER##*.}" # Compare V2Ray version numbers
CURRENT_VERSIONSION_NUMBER="$(echo "${CURRENT_VERSION#v}" | sed 's/-.*//')" if [[ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]]; then
CURRENT_MAJOR_VERSION_NUMBER="${CURRENT_VERSIONSION_NUMBER%%.*}" RELEASE_VERSIONSION_NUMBER="${RELEASE_VERSION#v}"
CURRENT_MINOR_VERSION_NUMBER="$(echo "$CURRENT_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')" RELEASE_MAJOR_VERSION_NUMBER="${RELEASE_VERSIONSION_NUMBER%%.*}"
CURRENT_MINIMUM_VERSION_NUMBER="${CURRENT_VERSIONSION_NUMBER##*.}" RELEASE_MINOR_VERSION_NUMBER="$(echo "$RELEASE_VERSIONSION_NUMBER" | awk -F '.' '{print $2}')"
if [[ "$RELEASE_MAJOR_VERSION_NUMBER" -gt "$CURRENT_MAJOR_VERSION_NUMBER" ]]; then 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 return 0
elif [[ "$RELEASE_MAJOR_VERSION_NUMBER" -eq "$CURRENT_MAJOR_VERSION_NUMBER" ]]; then elif [[ "$RELEASE_MINOR_VERSION_NUMBER" -eq "$CURRENT_MINOR_VERSION_NUMBER" ]]; then
if [[ "$RELEASE_MINOR_VERSION_NUMBER" -gt "$CURRENT_MINOR_VERSION_NUMBER" ]]; then if [[ "$RELEASE_MINIMUM_VERSION_NUMBER" -gt "$CURRENT_MINIMUM_VERSION_NUMBER" ]]; then
return 0 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 else
return 1 return 1
fi fi
else else
return 1 return 1
fi fi
elif [[ "$RELEASE_VERSION" == "$CURRENT_VERSION" ]]; then else
return 1 return 1
fi fi
else elif [[ "$RELEASE_VERSION" == "$CURRENT_VERSION" ]]; then
RELEASE_VERSION="$(version_number "$VERSION")" return 1
return 2
fi fi
} }