我正在尝试编写一个bash脚本,该脚本会增加给定的版本号
{major}.{minor}.{revision}
例如。
1.2.13
是否有一种很好的方法可以使用sed或awk之类的东西轻松提取这3个数字,这样我就可以增加{revision}数字并输出完整的版本号字符串。
$ v=1.2.13 $ echo "${v%.*}.$((${v##*.}+1))" 1.2.14
$ v=11.1.2.3.0 $ echo "${v%.*}.$((${v##*.}+1))" 11.1.2.3.1
下面是它的工作原理:
该字符串分为两部分。
>第一个包含除最后一个点和下一个字符之外的所有字符:$ {v%。*}
>第二个包含除最后一个点之外的所有字符:$ {v ## *。}
第一部分按原样打印,后跟一个普通点,最后一部分使用shell算术扩展递增:$((x 1))