TeamCity用户定义的环境变量

时间:2018-03-09 09:09:26

标签: powershell environment-variables teamcity

我正在尝试从运行时通过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()}
                    }
                     }

1 个答案:

答案 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()
        }
    }
}