TeamCity 用户定义的环境变量

TeamCity user defined environment variables

我正在尝试从我在运行时通过 PowerShell 设置的 TeamCity 参数获取用户定义的变量。

当我在 PowerShell 运行程序脚本 %variablename% 中执行 window 时,我得到了变量的值。但是,当我以编程方式构建一个带有 % 符号的字符串时,它会打印文字。我也尝试根据他们的文档使用 $env:variablename ,但没有帮助。

下面是我正在编写的用于获取环境变量值的函数:

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

如果你想通过另一个变量指定其名称来获取环境变量,你需要使用 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()
        }
    }
}