linux~更新版本号的shell

一个shell,定义一个函数,版本号做为参数,来更新这个版本号,如1.0,更新结果为1.1

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.1.9'

increment_version $version

使用方法

# EXAMPLE   ------------->   # RESULT
increment_version.sh 1.9         # 2.0
increment_version.sh 1.0.0      # 1.0.1
increment_version.sh 1.1        # 1.2
increment_version.sh 1.1.00     # 1.1.01
posted @   张占岭  阅读(174)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2019-03-28 springcloud文章汇总
2018-03-28 DotNetCore跨平台~为debain系统添加阿里云加速
2014-03-28 知方可补不足~CSS中的几个伪元素
2013-03-28 代码艺术~优雅的编程字体及对字体的感觉
点击右上角即可分享
微信分享提示