BTW, если у вас есть две строки версий (например, в $x
и $y
), вы можете использовать printf
и GNU sort
, чтобы найти более новую.
$ x=4.1.1
$ y=4.2.2
$ printf "%s\n" "$x" "$y" | sort -V -r
4.2.2
4.1.1
$ if [ $(printf "%s\n" "$x" "$y" | sort -V -r | head -1) = "$x" ] ; then
if [ "$x" = "$y" ] ; then
echo "$x is equal to $y"
else
echo "$x is newer than $y"
fi
else
echo "$x is older than $y"
fi
4.1.1 is older than 4.2.2