linux shell 实现自增版本号
通过shell直接对版本号自增,是CI中常见的问题,解决如下:
increment_version ()
{declare -a part=( ${1//\./ } )declare newdeclare -i carry=1for (( CNTR=${#part[@]}-1; CNTR>=0; CNTR-=1 )); dolen=${#part[CNTR]}new=$((part[CNTR]+carry))[ ${#new} -gt $len ] && carry=1 || carry=0[ $CNTR -gt 0 ] && part[CNTR]=${new: -len} || part[CNTR]=${new}donenew="${part[*]}"echo -e "${new// /.}"
} version='1.2.3.9'increment_version $version
输出
1.2.4.0
如果只增加最后一位的话如下:
increment_version ()
{declare -a part=( ${1//\./ } )declare newdeclare -i carry=1CNTR=${#part[@]}-1len=${#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
linux shell 实现自增版本号相关推荐
- Linux + Shell bash / sh / ksh / csh / tcsh
Redhat Gnome Terminal 快捷键 http://huangchao200701.javaeye.com/blog/263002 常用 win+n切换背景颜色风格 alt+tab=不用 ...
- linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...
- Linux Shell Tips小技巧
文章目录 sed 指定行 删除文本 替换文本 小技巧 查找N天内修改文件 Shell写R语言 makefile写shell bad interpreter错误 替换换行符为空格 压缩并打包目录 重定向 ...
- shell处理mysql增、删、改、查
shell处理mysql增.删.改.查 引言 这几天做一个任务,比对两个数据表中的数据,昨天用PHP写了一个版本,但考虑到有的机器没有php或者php没有编译mysql扩展,就无法使用mysql系列的 ...
- Linux Shell高级技巧(一)
一.将输入信息转换为大写字符后再进行条件判断: 我们在读取用户的正常输入后,很有可能会将这些输入信息用于条件判断,那么在进行比较时,我们将不得不考虑这些信息的大小写匹配问题. /> ...
- linux —— shell 编程(文本处理)
导读 本文为博文 linux -- shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed a ...
- Linux Shell高级技巧(五)
二十五.通过FTP下载指定的文件: 相比于手工调用FTP命令下载文件,该脚本提供了更为方便的操作方式. /> cat > test25.sh #!/bin/sh ...
- Linux shell的简单学习
Linux shell的简单学习 shell script 其实就是纯文本档,我们可以编辑这个档案,然后讥这个档案来帮我们一次执行多个指令, 戒者是刟用一些运算不逡辑刞断来帮我们达成某些功能. Lin ...
- 《Linux Shell编程从初学到精通(第2版)》pdf
下载地址:网盘下载 内容简介 编辑 shell是用户与内核进行交互操作的一种接口,是linux最重要的软件之一.目前最流行的shell称为bash shell,bash shell脚本编程以其简洁.高 ...
最新文章
- python软件安装步骤-一篇非常棒的安装Python及爬虫入门博文!
- 十七UML核心视图动态视图之时序图
- [BZOJ3932][CQOI2015]任务查询系统(差分+主席树)
- 一次从节点同步出错的解决
- 数组(ArrayList)底层怎样扩容
- datatables 搜索框 placeholder 属性
- 前端笔记-echarts加载bmap地图
- 程序员怎样上元宇宙的车?
- Spark连接hive
- RN性能优化以及事件监听
- 人脸识别打卡机怎么调sj_人脸识别考勤机怎么代打卡
- 干货 | 100亿+数据量,每天50W+查询,携程酒店数据智能平台实践
- 实验二 Linux下Vi编辑器的使用
- 海康设备接入EasyCVR,出现告警信息缺失且不同步该如何解决?
- 【项目管理/PMP/PMBOK第六版/新考纲】纯干货!Sprint冲刺/冲刺计划会/每日站立会/冲刺评审会/冲刺回顾会,系列文章建议收藏
- 举例说明——xiaopiu切换状态使用技巧
- 电脑设备管理器在哪里可以找到
- “抢先式多任务”“协同式多任务”
- 深度优先搜索Or深度优先遍历详解
- ArcGIS for AutoCAD 下载安装使用