gpt4 book ai didi

azure - 有没有办法在 PowerShell 替换脚本中替换 YAML 变量?

转载 作者:行者123 更新时间:2023-12-02 06:25:01 25 4
gpt4 key购买 nike

我试图从 Azure DevOps 中的变量组中获取一个变量,将其输入到将更改该值的 PowerShell 脚本中。

我的变量组如下所示:

变量组名称为=variableGroup,唯一的变量为=name: 'Alex'

dashboardTable.md(尝试替换字符串“Alex”)

我叫亚历克斯。

azure-pipelines.yml

variables:
- group: variableGroup

- task: PowerShell@2
inputs:
targetType: 'inline'
script: '(Get-Content ./dashboardTable.md).replace("$(name)", 'Bob') | Set-Content ''./dashboardTable.md'''

这实际上不可能还是我的语法错误?

最佳答案

您需要一致转义整个'...'字符串中嵌入'字符,如下所示'':

variables:
- group: variableGroup

- task: PowerShell@2
inputs:
targetType: 'inline'
script: '(Get-Content ./dashboardTable.md).replace(''$(name)'', ''Bob'') | Set-Content ./dashboardTable.md'

您可以通过使用 "..." 作为外部引用来简化字符串,在这种情况下,嵌入的 ' 不需要转义:

variables:
- group: variableGroup

- task: PowerShell@2
inputs:
targetType: 'inline'
script: "(Get-Content ./dashboardTable.md).replace('$(name)', 'Bob') | Set-Content ./dashboardTable.md"

但是,请注意,YAML 中的 "..." 字符串将 \ 解释为转义字符,因此如果 PowerShell 命令包含在 "中..." 包含 \ 的实例,它们必须加倍 (\\):

关于azure - 有没有办法在 PowerShell 替换脚本中替换 YAML 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68472601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com