シェルスクリプトでOpenSSLのバージョンが-ge 1.1.1であることを確認する方法は?

シェルスクリプトでOpenSSLのバージョンが-ge 1.1.1であることを確認する方法は?

私のスクリプトを実行するには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」で始まるバージョン)を探します。

おすすめ記事