检查我们在 bash 脚本中是否需要版本软件的最佳方法

KOl*_*KOl 5 bash

这是检查我们在 bash 脚本中是否有最低要求版本软件的最佳方法。例如 git 2.16.2

Joh*_*024 9

git 提供它的版本信息是这样的:

$ git --version
git version 2.11.0
Run Code Online (Sandbox Code Playgroud)

GNUsort理解版本号并可以对它们进行排序:

$ (echo a version 2.16.3; git --version) | sort -Vk3
git version 2.11.0
min version 2.16.3
$ (echo a version 2.9.3; git --version) | sort -Vk3
min version 2.9.3
git version 2.11.0
Run Code Online (Sandbox Code Playgroud)

我们可以结合这个来做一个测试:

if (echo a version 2.16.3; git --version) | sort -Vk3 | tail -1 | grep -q git
then
    echo "Good enough."
else
    echo "Not good"
fi
Run Code Online (Sandbox Code Playgroud)