如何:在 Azure DevOps YAML 中转义 $(var)

Howto: Escape $(var) in Azure DevOps YAML

variables:
  buildSelected: '1.0.0.1234'

steps:
  - powershell: |
      Write-Host "Build Selected $(buildSelected)"
      Write-Host "Escaped '$(buildSelected)'"
    displayName: "Escape variable"

我想要打印值 1.0.0.1234 & '$(buildSelected)' 而不是现在打印的值:

Build Selected 1.0.0.1234
Escaped '1.0.0.1234'

抱歉,恐怕 Azure Devops 不提供转义管道变量的功能。如果变量以$(var)这种格式使用,在使用Write-Host输出它时,它总是被替换为它的值。

据我所知,在 Powershell 语法中,只有 ` 可用于转义变量。参见:

Write-Host "Build Selected `$`(buildSelected)" 

其输出:Build Selected $(buildSelected)

不确定它是否是您需要的,但不支持使用完整 $(var) 转义管道变量。如果它匹配 $(var) 格式,Azure Devops 将始终用它的值替换它。