我有以下脚本
function dummy
{
param([string[]] myArray)
myArray | foreach {
#do something with $_
}
}
来自powershell的如果我做以下一切都很好 。 ./myscript.ps1 假的' val1',' val2'
但是我无法通过jenkins使用我定义的全局变量来实现
. ./myscript.ps1
dummy $env:myglobal
其中$ env:myglobal =' val1',' val2'
它似乎通过了以下
dummy "'val1','val2'"
并且虚拟对象将其视为单个字符串而不是字符串数组
答案 0 :(得分:0)
我可能过于简单了,但基本上环境变量只是字符串(即不是数组!)。
您需要做的是使用-split
解析值,例如
function dummy {
Param (
[string[]]
$myArray
)
Process {
[array]$anotherArray = $myArray -split ","
$anotherArray| ForEach-Object {
#do something with $_
}
}
}