我是 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
当您有匹配项时,您可以在正则表达式中引用捕获组。在 Python 中,您将使用类似的result.group(1)
方法访问组。在 bash 中,为此目的,您有一个预定义的 array BASH_REMATCH
,它总是指最近的正则表达式匹配。在我们的例子中,我们会有
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))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句