bash - BASH将Linux版本与数字进行比较?
问题描述
我正在尝试弄清楚如何将当前的 openSuSE 版本号与预设值进行比较。
我有已安装操作系统的当前版本$VERSION_ID
我现在正试图弄清楚如何将其与“42.3”进行比较。因此,如果该值不大于或等于退出。
if [ ! "$VERSION_ID" -ge 42.3 ]; then
echo "Sorry Bye";
fi
我得到:
[: 42.3: integer expression expected
但我不知道如何解决这个问题
任何建议请谢谢
解决方案
您可以使用计算器bc
:
if [ $(echo "$VERSION_ID<=42.3" |bc -l) -eq "1" ]; then
echo "Sorry Bye";
fi
推荐阅读
- java - 用户使用按钮向 tableview 输入数据
- spring - Spring Cloud Stream 3 RabbitMQ 消费者不工作
- html - 如何使用 .stroke1 类将点(SVG)居中
- java - 查找数组大小为 k 的窗口的最高频率的方法
- c# - 是否可以将 EF Core 配置为在保存时忽略子属性,使用外键创建关系,但在检索时仍填充子属性?
- reactjs - 当 React 应用程序在 Web 上运行时运行 express 服务器
- vba - 将多个字段发送到 Access VBA 中的新文件夹时出现无效的限定符编译错误
- flutter - Flutter 移动视觉中的过滤值
- javascript - 虽然有时它有效,但我在我的 React 项目中得到“.filter 不是函数”
- python - Numpy argsort - 发生了什么?