Как проверить, является ли версия OpenSSL -ge 1.1.1 в сценарии оболочки?

Этот обходной путь может решить задачу (изменить обратную косую черту на обратную косую черту `в соответствии с вашей оболочкой):

echo 'string' $var | tr -d \' >> print.dat
0
05.12.2019, 14:14
2 ответа

AWK является частью POSIX, так что все должно быть в порядке:

openssl version | awk '$2 ~ /(^0\.)|(^1\.(0\.|1\.0))/ { exit 1 }'

Вместо поиска версий выше или равных 1.1.1 выполняется поиск версий ниже 1.1.1 :версий, начинающихся с «0», «1.0» или «1.1.0».

1
28.01.2020, 02:38

Немного бреда, но работает:

export openssl_minversion=1.1.1
if echo -e "$(openssl version|awk '{print $2}')\n${openssl_minversion}" | sort -V | head -1 | grep -q ^${openssl_minversion}$;then
  echo okay
else
  echo nokay
fi
0
28.01.2020, 02:38

Теги

Похожие вопросы