美文网首页
如何通过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