Припустимо, я хочу порівняти gcc
версію, щоб побачити, чи встановлена в системі мінімальна версія чи ні.
Щоб перевірити gcc
версію, я виконав наступне
gcc --version | head -n1 | cut -d" " -f4
Вихід був
4.8.5
Отже, я написав просту if
заяву, щоб перевірити цю версію на якусь іншу цінність
if [ "$(gcc --version | head -n1 | cut -d" " -f4)" -lt 5.0.0 ]; then
echo "Less than 5.0.0"
else
echo "Greater than 5.0.0"
fi
Але це видає помилку:
[: integer expression expected: 4.8.5
Я зрозумів свою помилку в тому, що я використовував рядки для порівняння та -lt
вимагає цілого числа. Отже, чи є інший спосіб порівняння версій?
gcc -dumpversion