How to compare two strings in dot separated version format in Bash?

前端 未结 29 1647
慢半拍i
慢半拍i 2020-11-22 06:52

Is there any way to compare such strings on bash, e.g.: 2.4.5 and 2.8 and 2.4.5.1?

29条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-22 07:04

    You can use version CLI to check version's constraints

    $ version ">=1.0, <2.0" "1.7"
    $ go version | version ">=1.9"
    

    Bash script example:

    #!/bin/bash
    
    if `version -b ">=9.0.0" "$(gcc --version)"`; then
      echo "gcc version satisfies constraints >=9.0.0"
    else
      echo "gcc version doesn't satisfies constraints >=9.0.0"
    fi
    

提交回复
热议问题