You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下GitHub Action中如何提取BRANCH变量的版本号?

提取环境变量BRANCH中的版本号

你给出的命令BRANCH="${BRANCH//[^0-9]/}"根本不行——它会把所有非数字字符全删掉,最后得到的是412,完全不是你要的v4.1.2。给你几个靠谱的方法:

方法1:字符串截取(最直接)

因为你的BRANCH值是release/v4.1.2,直接截取最后一个/后面的部分就行:

BRANCH="${BRANCH##*/}"

原理:##*/会从字符串开头删掉最长的包含/的前缀,剩下的就是目标版本号。

方法2:用sed匹配提取

如果版本号格式固定是v+数字.数字.数字,可以用sed精准提取:

BRANCH=$(echo "$BRANCH" | sed 's/.*\/\(v[0-9]\+\.[0-9]\+\.[0-9]\+\)/\1/')

原理:sed会匹配最后一个/后的版本号片段,用这个片段替换整个字符串。

方法3:awk分割取最后一段

以/为分隔符,直接取最后一段内容:

BRANCH=$(echo "$BRANCH" | awk -F '/' '{print $NF}')

原理:-F '/'指定分隔符为/,$NF代表最后一个字段。

内容的提问来源于stack exchange,提问作者Johan Grobler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:05:23