Debian 提供了一种使用如下dpkg
命令比较 Debian 兼容版本的方法:
dpkg --compare-versions <version> <operator> <version>
例如,如果你想知道给定的版本是否在 1.0 之前,那么你可以使用:
# gather VERSION from somewhere...
VERSION=0.9
if dpkg --compare-versions "${VERSION}" lt 1.0
then
echo "unacceptable version as per policy"
exit 1
fi
基于 RPM(RedHat/Fedora)系统下的等效命令是什么?
rpmdev-vercmp
fromrpmdevtools
包提供了类似的功能,但不支持指定运算符,如果版本相等,它只返回 0,如果版本 1 较新,则返回 11,如果版本 2 较新,则返回 12。您还可以在 Fedora 中安装 dpkg,它在默认存储库中可用。但是仅仅为了版本比较而安装dpkg可能有点过分了。