【问题标题】:TeamCity user defined environment variablesTeamCity 用户定义的环境变量
【发布时间】:2018-03-09 09:09:25
【问题描述】:

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

当我在 PowerShell 运行程序脚本窗口中执行 %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()}
                    }
                     }

【问题讨论】:

    标签: powershell environment-variables teamcity


    【解决方案1】:

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

    【讨论】:

    • 这适用于一个脚本,但对另一个脚本失败,并出现以下错误:知道可能出了什么问题吗?
    • 错误是什么?尽管您最好发布一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 2018-04-19
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    相关资源
    最近更新 更多