Переменная среды Powershell v2.0 в Linux TERM не установлена - PullRequest
0 голосов
/ 29 ноября 2018

Я использую Powershell v2. * На VSTS Хостинг Ubuntu 1604

Я получаю Не задана переменная среды TERM.

Вот мойкод.Любые идеи с благодарностью.

$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

1 Ответ

0 голосов
/ 29 ноября 2018

Ответ состоит в том, чтобы удалить оператор cls !Кроме того, вам не нужен оператор $ env: TERM = "xterm" (удалите его).Это нормально для агента, размещенного в Windows, но в Linux это не так.Что-то связанное с тем, что терминал не может очистить экран при запуске неинтерактивного скрипта.

...