我正在运行Powershell v2.*在VSTS托管的Ubuntu 1604上
我得到术语环境变量未设置。
这是我的密码。任何想法都非常感激。

$env:TERM="xterm"

function Update-Tokens()
{
    param(
        [Parameter(Mandatory=$true)][string]$filePath,
        [Parameter(Mandatory=$true)][string]$tokensStartingWith
    )

    Write-Host -Fore Yellow "Replacing Tokens";

    $fileContents = [IO.File]::ReadAllText($filePath)


    foreach($theEnv in (Get-ChildItem env:* | sort-object Name)){
        if($theEnv.Name.StartsWith($tokensStartingWith))
        {
            Write-Host -Fore Yellow "Updating: $($theEnv.Name)=$($theEnv.Value)"
            $fileContents = $fileContents.Replace("`${$($theEnv.Name)}", $theEnv.Value)
        }
    }

    $fileContents | Out-File -Encoding utf8 -filePath $filePath | Out-Null
    Write-Host -Fore Yellow $fileContents

}
cls
Update-Tokens -filePath "./azure-support-ticket-k8s.yaml"-tokensStartingWith "SUPPORT_TICKET_BUILD_" | Out-Null

最佳答案

答案是删除cls语句!
另外,您不需要$env:TERM=“xterm”语句(删除它)。
这在Windows托管的代理上是可以的,但在Linux上是不行的。与终端在运行非交互式脚本时无法清除屏幕有关。

07-24 09:37