在Azure devops管道中将文本参数转换为powershell变量

62lalag4  于 2023-11-18  发布在  Shell
关注(0)|答案(1)|浏览(125)

下面的管道在最后一行失败。我需要将一个可以包含双引号的文本参数转换为powershell变量。

parameters:
- name: text
  type: string
  default: test1 " test2

steps:
- checkout: none
- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
          $messageText = "${{parameters.text}}"

字符串


的数据

rkue9o1l

rkue9o1l1#

将其设置为HereString而不是普通字符串。

$messageText = @"
${{parameters.text}}
"@

字符串
或者单引号的代码(它会在单引号的东西上失败)。

$messageText = '${{parameters.txt}}'


或者,你可以用双引号来转义它们,或者在它们前面加上一个反引号。

parameters:
- name: text
  type: string
  default: test1 "" test2

parameters:
- name: text
  type: string
  default: test1 `" test2


或者通过在代码中转义输入来清理输入(我见过这样做的混合结果):

$messageText = "$('${{parameters.text}}' -replace '"','`"')"

相关问题