shell 如何比较软件版本号的大小 脚本

Skiy 2月前 18

shell 如何比较软件版本号的大小

#!/bin/bash
 
VERSION=$1
VERSION2=$2
 
function version_gt() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }
function version_le() { test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" == "$1"; }
function version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; }
function version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; }
 
if version_gt $VERSION $VERSION2; then
   echo "$VERSION is greater than $VERSION2"
fi
 
if version_le $VERSION $VERSION2; then
   echo "$VERSION is less than or equal to $VERSION2"
fi
 
if version_lt $VERSION $VERSION2; then
   echo "$VERSION is less than $VERSION2"
fi
 
if version_ge $VERSION $VERSION2; then
   echo "$VERSION is greater than or equal to $VERSION2"
fi
./xxx.sh 1.13.1 1.13.0
1.13.1 is greater than 1.13.0
最新回复 (0)
返回
发新帖