私のcmakeバージョンが3.13.4以上であることを確認したいと思います。それ以外の場合は、3.13.4より小さい場合は最新バージョンをビルドしてください。ここにスクリプトがあります。
#!/bin/sh
RESULT=$(cmake --version)
if [ "$RESULT" -ge 3.13.4 ]; then
echo "you are using the latest version of cmake"
elif [ "$RESULT" -lt 3.13.4 ]; then
cd /home/builduser
mkdir cmake
cd cmake
apt install wget libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2.tar.gz
tar -xf cmake-3.22.2.tar.gz
cd cmake-3.22.2
./configure
make install
cd /home/builduser
rm -rf cmake
fi
ベストアンサー1
GNUソートにはバージョンソートオプションがあります-V
。
cmp=3.13.4
ver=$(cmake --version | head -1 | cut -f3 -d" ")
mapfile -t sorted < <(printf "%s\n" "$ver" "$cmp" | sort -V)
if [[ ${sorted[0]} == "$cmp" ]]; then
echo "cmake version $ver >= $cmp"
fi