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

如何在Bitbucket Pipelines脚本中获取并查看当前分支名称?

解决Bitbucket Pipelines中无法打印BITBUCKET_BRANCH变量的问题

遇到这种情况大概率是YAML解析器在搞事情——当你直接写- echo $BITBUCKET_BRANCH时,YAML会尝试把$BITBUCKET_BRANCH当作自身的变量解析,导致shell拿到的命令不是你预期的样子,自然没法输出变量实际内容。试试下面几种方法来修复:

方法1:用单引号包裹命令

把echo命令用单引号括起来,这样YAML会把整个字符串当作纯文本,不会解析里面的$符号,交给shell执行时就能正常替换环境变量了:

pipelines:
  default:
    - step:
        script:
          - 'echo 当前分支名称:$BITBUCKET_BRANCH'

方法2:转义$符号

如果习惯用双引号,就给$前面加个反斜杠转义,明确告诉YAML不要处理这个符号,把变量解析的工作交给shell:

pipelines:
  default:
    - step:
        script:
          - "echo 当前分支名称:\$BITBUCKET_BRANCH"

方法3:开启shell调试模式

如果想更直观地看到命令执行的细节,可以用set -x开启shell的调试模式,它会打印出每个命令执行时的实际内容(包括变量替换后的结果),方便你排查问题:

pipelines:
  default:
    - step:
        script:
          - set -x
          - echo $BITBUCKET_BRANCH

额外注意:拉取请求流水线的特殊情况

如果你的流水线是由拉取请求触发的,BITBUCKET_BRANCH变量是不会被设置的!这时候要改用BITBUCKET_PR_SOURCE_BRANCH(获取PR的源分支)或者BITBUCKET_PR_DESTINATION_BRANCH(获取PR的目标分支)来获取分支名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:17:51