내 스크립트를 실행하려면 OpenSSL 1.1.1 이상이 필요합니다.
물론 첫 번째 단계는 OpenSSL이 시스템에 설치되어 있는지 확인하고, 그렇다면 다음과 같이 기본 OpenSSL 설치 버전을 확인하는 것입니다.
command -v openssl
openssl version | awk '{print $2}'
솔직히 말해서 버전 자체를 확인하는 방법을 아직 모르겠습니다. 귀하가 확인하기 전에 아이디어가 나에게 올 경우에만 내 답변을 게시하겠습니다.
POSIX 답변을 따르고 Bashisms를 멀리하십시오. 감사해요.
답변1
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"으로 시작하는 버전)을 찾습니다.
답변2
약간 번거롭지만 작동합니다.
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