LINUX.ORG.RU

Вопрос по If в Bash

 ,


1

1

Добрый день. Не могу добиться толку

На сервере есть скрипт script.sh В нем выполняется команда приложения «app version» происходит вывод версии 0.11.0

Нужно сравнить вывод версии с версией в переменной в этом же скрипте

Пример !

var1=0.11.0

var2=`app version`

if [[ «$var1» == «$var2» ]]; then

echo «OK»

else echo «update»

fi

Но это не работает, перепробовал уже кучу вариантов, ни чего не получается.


Во первых - кавычки проверьте.
Во вторых - про пробелы вокруг «==» не забывайте.
В третьих - вывод «app version» может содержать символы перевода строки, смены цвета, и кучу всякого лишнего.

Вот пример для установленного у меня git:

#!/bin/bash

# example command:
#git --version
# output:
#git version 2.30.2

# version to compare
var1=2.30.2

# get version from application output
var2=`git --version | cut -d ' ' -f 3`

if [[ "$var1" == "$var2" ]]; then
 echo "OK"
else
 echo "update"
fi

DiMoN ★★★
()