Bash -版本号增加1



我是bash脚本新手。我需要将构建的版本号增加1.

例如:-如果我的版本是1.0.0+1,碰撞它将生成1.0.1+2,即基本上在+之前和之后增加1个数字。

如何在bash脚本中完成?

基本接近Python风格的bash方法是使用正则表达式将版本号和版本字符串的其余部分分开:

version=1.0.0+1
if [[ $version =~ ^([^+?]*[.])([0-9]*)[+]([0-9]+) ]]
then
# ... see below
else
echo Unexpected version string: "$version"
fi

当您有匹配时,您可以引用regexp中的捕获组。在Python中,您将使用类似result.group(1)的东西来访问组。在bash中,为此您有一个单独的预定义数组BASH_REMATCH,它总是引用最近的regexp匹配。在本例中,我们将使用

version_string_head=${BASH_REMATCH[1]} # 1.0. 
version_count_hi=${BASH_REMATCH[2]} # 0
version_count_lo=${BASH_REMATCH[3]} # 1

其余的都是不重要的:

new_version_string=${version_string_head}$((version_count_hi + 1))+$((version_count_lo + 1))

最新更新