我正在运行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上是不行的。与终端在运行非交互式脚本时无法清除屏幕有关。