首页 > 解决方案 > BASH将Linux版本与数字进行比较?

问题描述

我正在尝试弄清楚如何将当前的 openSuSE 版本号与预设值进行比较。

我有已安装操作系统的当前版本$VERSION_ID

我现在正试图弄清楚如何将其与“42.3”进行比较。因此,如果该值不大于或等于退出。

if [ ! "$VERSION_ID" -ge 42.3 ]; then
    echo "Sorry Bye";
fi  

我得到: [: 42.3: integer expression expected 但我不知道如何解决这个问题

任何建议请谢谢

标签: bashcompare

解决方案


您可以使用计算器bc

if [ $(echo "$VERSION_ID<=42.3" |bc -l) -eq "1" ]; then 
    echo "Sorry Bye";
fi

推荐阅读