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

如何从git describe --all输出中提取标签名,自动去tags/前缀适配所有标签类型

解决方案

你可以通过Shell参数扩展直接移除可能存在的tags/前缀,该方式适配带/不带前缀的所有场景,无需额外依赖工具。

实现步骤

  1. 先将git describe --all的执行结果存入变量
  2. 用${变量名#tags/}语法删除开头的tags/前缀:如果字符串开头存在该前缀则移除,不存在则返回原始内容,刚好满足你的需求。

修改后的测试代码如下,运行后会输出符合预期的true:

# 读取原始返回结果
tag_raw=$(git describe --all)
# 移除可能存在的tags/前缀
pure_tag=${tag_raw#tags/}

if [ "$pure_tag" = "v0.1.0" ]
then
  echo "true"
else
  echo "false"
fi

其他可选实现方式

如果你需要一行直接完成提取,可以用sed做正则替换:

pure_tag=$(git describe --all | sed 's/^tags\///')

内容的提问来源于stack exchange,提问作者Jens Meindertsma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:36:01