首页 > 解决方案 > 将数组值发送到下一行脚本,然后运行该脚本。电源外壳

问题描述

我试图弄清楚是否有办法将参数从 PowerShell 数组传递给下一行脚本。

前任:

$array = @('a','b','c') # This can keep increasing. 

cobertura-merge -o coverage/cobertura-coverage.xml $array[0] $array[1] $array[2]

有人可以告诉我,如果n数组中没有元素,如何做到这一点?

拉格!

标签: azurepowershellautomationazure-devopsazure-powershell

解决方案


您实际上不能在变量中存储复杂的值。所以你必须先加入然后拆分它

- pwsh: |
    $val = @('a','b','c') -join ";"
    Write-Host "##vso[task.setvariable variable=paramaeters;]$val"

- pwsh: | 
    $paramaeters = '$(paramaeters)'.split(";")

    cobertura-merge -o coverage/cobertura-coverage.xml @paramaeters

传递数组应该没问题,因为它显示在这里

请注意,如果您在同一个工作中执行这两个步骤,它将起作用。否则,您需要使用输出变量。

请更改$parameter@parameters使用飞溅数组


推荐阅读