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

如何让变量组中的机密变量保留$(...)语法不被展开?

如何在Azure Pipelines中输出机密变量的字面量(避免内部变量展开)

在Azure Pipelines中,当变量组里的机密变量包含$(变量名)语法时,管道会自动解析并展开内部变量,导致bash步骤输出展开后的值而非原始字面量。要实现输出hello$(anotherVar)而非helloXXX,可以通过以下方法解决:

方案1:在变量组中配置转义后的变量值

Azure Pipelines中使用两个连续的$符号转义单个$,因此在变量组SomeVariableGroup中,将机密变量someVar的值设置为hello$$(anotherVar)。

这样管道解析变量时,会自动将$$转换为单个$,最终传递给bash步骤的变量值就是hello$(anotherVar),执行echo $(someVar)即可得到预期的字面量输出。

修改后的流水线YAML无需调整,保持原有代码即可:

trigger: none

variables:
  - group: SomeVariableGroup # 变量组中someVar的值为hello$$(anotherVar)
  - name: anotherVar
    value: XXX

stages:
  - stage: stage1
    jobs:
      - job: job1
        steps:
          - bash: echo $(someVar) # 输出结果为hello$(anotherVar)

补充说明

由于是机密变量,在Azure DevOps变量组的配置界面输入值时,直接填写hello$$(anotherVar)即可,无需额外处理。管道在解析阶段会完成转义转换,确保bash步骤拿到的是未展开的原始字面量格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:45:07