Строки одинаковы, но если / то говорит, что они не равны - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь создать сценарий для получения последней версии проекта GitHub и проверки его обновления. Сценарий:

#!/bin/bash
getVersion(){
    curl --silent "https://api.github.com/repos/pwn20wndstuff/Undecimus/releases/latest" |
        grep '"tag_name":' |
        sed -E 's/.*"([^"]+)".*/\1/'
}
writeVersion(){
    func_result="$(getVersion)"
    echo $func_result > version.txt
}

checkForUpdate(){
    currentVersion=$(cat version.txt)
    latestVersion="$(getVersion)"
    if [ "$currentVersion" == "$version" ]; then
        echo "Strings are equal"
    else
        echo "Strings are not equal"
        echo "current version is: $currentVersion"
        echo "latest version is: $latestVersion"
    fi
}

вывод ./get_latest_release.sh checkForUpdate:

Strings are not equal 
current version is: v4.2.1 
latest version is: v4.2.1

Как видите, версии одинаковые, но проверка if then возвращает их разные вместо Strings are equal

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 29 февраля 2020

Ваш чек

if [ "$currentVersion" == "$version" ]; then

должен быть

if [ "$currentVersion" == "$latestVersion" ]; then
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...