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

Vya*_*ava 5 azure azure-devops azure-devops-yaml

variables:
  buildSelected: '1.0.0.1234'

steps:
  - powershell: |
      Write-Host "Build Selected $(buildSelected)"
      Write-Host "Escaped '$(buildSelected)'"
    displayName: "Escape variable"
Run Code Online (Sandbox Code Playgroud)

我希望打印值 1.0.0.1234 & '$(buildSelected)' 而不是现在打印的内容:

Build Selected 1.0.0.1234
Escaped '1.0.0.1234'
Run Code Online (Sandbox Code Playgroud)

Lan*_*SFT 8

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

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

Write-Host "Build Selected `$`(buildSelected)" 
Run Code Online (Sandbox Code Playgroud)

其输出:Build Selected $(buildSelected)

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