我正在尝试从运行时通过PowerShell设置的TeamCity参数中获取用户定义的变量。
当我在PowerShell runner脚本窗口中执行%variablename%
时,我得到变量的值。但是,当我以编程方式构建带有%符号的字符串时,它会打印文字。我也尝试使用$env:variablename
根据他们的文档没有帮助。
下面是我写的函数,用于获取env变量的值:
Function get-tc-env-var {
Param (
[Parameter(Mandatory=$true)]
[string]$env_var
)
Process
{
$var = Env:$env_var # tried both $Env and Env both dont work
if (!$var)
{
Write-Host "Can't get environment variable:" $env_var
}
else { return $Var.trim()}
}
}
答案 0 :(得分:0)
如果您想通过另一个变量指定其名称来获取环境变量,则需要使用Get-Item
:
Function get-tc-env-var {
Param (
[Parameter(Mandatory=$true)]
[string]$env_var
)
Process
{
$var = (Get-Item env:$env_var).value
if (!$var)
{
Write-Host "Can't get environment variable:" $env_var
}
else
{
return $Var.trim()
}
}
}