美文网首页
如何通过shell自增版本号

如何通过shell自增版本号

作者: E度丶塔罗 | 来源:发表于2019-10-14 23:05 被阅读0次

    通过shell直接对版本号自增,是CI中常见的问题,解决如下:

    increment_version ()
    {
      declare -a part=( ${1//\./ } )
      declare    new
      declare -i carry=1
    
      for (( CNTR=${#part[@]}-1; CNTR>=0; CNTR-=1 )); do
        len=${#part[CNTR]}
        new=$((part[CNTR]+carry))
        [ ${#new} -gt $len ] && carry=1 || carry=0
        [ $CNTR -gt 0 ] && part[CNTR]=${new: -len} || part[CNTR]=${new}
      done
      new="${part[*]}"
      echo -e "${new// /.}"
    } 
    
    version='1.2.3.9'
    
    increment_version $version
    

    输出

    1.2.4.0
    

    如果只增加最后一位的话如下:

    increment_version ()
    {
      declare -a part=( ${1//\./ } )
      declare    new
      declare -i carry=1
      CNTR=${#part[@]}-1
      len=${#part[CNTR]}
      new=$((part[CNTR]+carry))
      part[CNTR]=${new}
      new="${part[*]}"
      echo -e "${new// /.}"
    } 
    version='1.2.3.9'
    
    increment_version $version
    

    结果

    1.2.3.10
    

    相关文章

      网友评论

          本文标题:如何通过shell自增版本号

          本文链接:https://www.haomeiwen.com/subject/lhadmctx.html