**プログラム**バージョンがx以下であることを確認する方法[重複]

**プログラム**バージョンがx以下であることを確認する方法[重複]

特定のプログラムのバージョンがx.xx.xxのバージョン以下であるかどうかを知る必要があるシェルスクリプトを作成しています。

以下は、私が望むことを試して説明するサンプルスクリプトです。

#!/bin/bash

APPVER="`some command to output version | grep x.xx*`"

if [[ "$APPVER" is smaller or equal to "x.xx*" ]]; then
    do something
else
    do something else
fi

これを行う方法はありますか?私は数字を比較する方法を見つけましたが、バージョン番号では機能しません。可能な限りプログラムをまったく使用しないか、または最小限に使用するソリューションが必要です。

助けてくれてありがとう!

ベストアンサー1

GNUソートがある場合は、そのソートを使用してください。バージョン比較モード

if { echo "$APPVER"; echo "x.y.z"; } | sort --version-sort --check; then
  echo "App version is x.y.x or less"
fi

おすすめ記事