gpt4 book ai didi

bash if 语句,版本是否低于要求?

转载 作者:行者123 更新时间:2023-12-04 05:02:13 25 4
gpt4 key购买 nike

我正在将依赖项检查写入程序,并且我要求特定程序至少是特定版本。

这是我到目前为止..

gtkdialog_v=`gtkdialog --version | sed -e "s| |\n|g" -e "/^$/d" | grep "[0-9]\."`
if [ "$gtkdialog_v" -lt "0.8.3" ]; then echo "gtkdialog must be version 0.8.3 or higher"; exit; fi

“-lt”是问题所在,如果我插入“=”,那么它会按预期运行,如果我使用“<”,它的错误与“-lt”相同

我的错误
[: 0.8.3: integer expression expected

我在这里错过了什么?

最佳答案

您可以使用 Natural Sort这样做:

#!/bin/sh
min=0.8.3
ver=0.8.2

if shuf -e $min{,} $ver | sort -V | awk '{getline b;exit$0==b?0:1}'
then
echo 'good'
else
echo 'gtkdialog must be version 0.8.3 or higher'
exit
fi

关于bash if 语句,版本是否低于要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16009544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com