monterey2="12.0"
macOS=$(sw_vers -productVersion)
if [ "$macOS" >= "$monterey2" ] ; then
echo "Monterey"
else
echo "not Monterey"
fi
exit 0
このエラーは、出力 -> "[:12.2.1: 単項演算子の予測"です。私も同じ結果で-eqを試しました。私は何が間違っていましたか?
ベストアンサー1
両方のバージョン番号をエコーしsort -V
、どちらのバージョンが最初に表示されるかを確認します(テキストで)。テキストで一致する場合、$monterey2
値は次sw_vers
の値以上です。
浮動小数点比較はバージョン番号では機能しません。その理由は、部分がすべて整数であるためです(必ずしも2つである必要はありません)。例:
12.3 is earlier than 12.10
12.3.11 is later that 12.3.8