求助:精简语义化版本号更新脚本(禁用bc命令)
精简你的语义化版本更新脚本
我来帮你把这个脚本大幅精简——你的当前脚本绕了个没必要的弯子,我们用awk直接一步处理就能搞定,而且完全适配你的Docker Python镜像环境(不需要依赖bc命令)。
精简后的脚本(适配你的需求:1.3 → 2)
# 直接读取version.txt,提取主版本号加1后覆盖写入 echo "$(awk -F. '{print $1 + 1}' version.txt)" > version.txt # 打印更新后的版本号 echo "New version = $(<version.txt)"
如果你实际需要保留次版本号为0(比如1.3 → 2.0)
如果你的需求其实是主版本号加1、次版本号重置为0(只是示例里写成了2),只需要稍微修改awk的输出逻辑:
echo "$(awk -F. '{print $1 + 1 ".0"}' version.txt)" > version.txt echo "New version = $(<version.txt)"
脚本说明
-F.:告诉awk用点号作为字段分隔符,这样能轻松把1.3拆成主版本号$1=1和次版本号$2=3{print $1 + 1}:直接对主版本号做整数加法,自动丢弃次版本号,完美实现你要的1.3→2效果- 整个流程只读取一次
version.txt,处理后直接覆盖写入,比原脚本的多次读写/截断操作高效得多
内容的提问来源于stack exchange,提问作者Ludo
相关产品推荐
相关产品推荐

