Skip to content

Instantly share code, notes, and snippets.

@dragolabs
Last active July 17, 2024 13:42
Show Gist options
  • Select an option

  • Save dragolabs/d60ea4b1821d5c31a096d0f64b9f549e to your computer and use it in GitHub Desktop.

Select an option

Save dragolabs/d60ea4b1821d5c31a096d0f64b9f549e to your computer and use it in GitHub Desktop.
Compare two versions in bash script
#!/bin/bash
#
# Compare two versions in bash script
# Originally get from http://stackoverflow.com/a/4025065
#
vercomp() {
if [[ $1 == $2 ]]; then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i = ${#ver1[@]}; i < ${#ver2[@]}; i++)); do
ver1[i]=0
done
for ((i = 0; i < ${#ver1[@]}; i++)); do
if [[ -z ${ver2[i]} ]]; then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]})); then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]})); then
return 2
fi
done
return 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment