Json 将结果保存到变量(Azure管道列表)时PowerShell外壳挂起

Json 将结果保存到变量(Azure管道列表)时PowerShell外壳挂起,json,powershell,variable-assignment,azure-cli,Json,Powershell,Variable Assignment,Azure Cli,我试图将Azure CLI(az pipelines list)命令的结果保存到变量中,但shell/脚本挂起 如果我自己运行该命令,它会工作: PS C:\>az管道列表--项目名称--管道名称--输出json 此命令处于预览状态。在将来的版本中可能会对其进行更改/删除。 [ { “作者”:{ # ... }, “createdDate”:“2019-12-07T00:08:03.620000+00:00”, “draftOf”:空, “草案”:[…], “id”:541, “latestBu

我试图将Azure CLI(
az pipelines list
)命令的结果保存到变量中,但shell/脚本挂起

如果我自己运行该命令,它会工作:

PS C:\>az管道列表--项目名称--管道名称--输出json
此命令处于预览状态。在将来的版本中可能会对其进行更改/删除。
[
{
“作者”:{
# ...
},
“createdDate”:“2019-12-07T00:08:03.620000+00:00”,
“draftOf”:空,
“草案”:[…],
“id”:541,
“latestBuild”:null,
“latestCompletedBuild”:null,
“度量”:空,
“名称”:“管道名称”,
“路径”:“\\”,
“项目”:{
“缩写”:空,
“defaultTeamImageUrl”:空,
“描述”:空,
“id”:“99a1b81a-ca3b-418a-86cf-0965eaba6dab”,
“lastUpdateTime”:“2019-12-13T20:54:20.28Z”,
“名称”:“项目名称”,
“修订”:462,
“国家”:“形式良好”,
“url”:”https://dev.azure.com/ORGANIZATION_NAME/_apis/projects/99a1b81a-ca3b-418a-86cf-0965eaba6dab",
“可见性”:“专用”
},
“质量”:“定义”,
“队列”:{
“id”:501,
“名称”:“Azure管道”,
“池”:{
“id”:65,
“isHosted”:没错,
“名称”:“Azure管道”
},
“url”:”https://dev.azure.com/ORGANIZATION_NAME/_apis/build/Queues/501"
},
“队列状态”:“已启用”,
“修订”:30,
“类型”:“构建”,
“uri”:vstfs:///Build/Definition/541",
“url”:”https://dev.azure.com/ORGANIZATION_NAME/99a1b81a-ca3b-418a-86cf-0965eaba6dab/_apis/build/Definitions/541?revision=30"
}
]
PS C:\>
但是,如果我尝试将结果分配给变量,shell/脚本将挂起:

PS C:\>$pipelines=az pipelines列表--项目名称--名称管道名称--输出json
此命令处于预览状态。在将来的版本中可能会对其进行更改/删除。
光标会跳到字符61的位置,并且永远停留在那里

这种行为的原因可能是什么?我觉得预览警告造成了一些麻烦,但我不确定如何抑制它

非常感谢您的任何见解


谢谢

好吧,这听起来有些奇怪,但这只是一个渲染问题-应用程序根本没有挂起,它只是停止了控制台的正确输出,包括命令完成后的提示

在脚本顶部添加以下内容:

$PSBackgroundColor = $Host.UI.RawUI.BackgroundColor
$PSForegroundColor = $Host.UI.RawUI.ForegroundColor

function Reset-Console {
    $Host.UI.RawUI.BackgroundColor = $PSBackgroundColor
    $Host.UI.RawUI.ForegroundColor = $PSForegroundColor
}
然后在运行命令后:

Reset-Console

这为我解决了这个问题。

如前一个答案所述,这是由于azure cli的颜色输出(在本例中为警告文本)使终端混乱所致

由于PR,可以通过将环境变量
Azure\u CORE\u NO\u COLOR
设置为
True
(或者通过在
~/.Azure/config
中设置
[CORE]NO\u COLOR=True
选项来禁用Azure cli的输出着色

我正在Azure CLI的2.14.2版本中成功使用I

从公关的描述

[Core]预览:允许通过设置AZURE\u Core\u NO\u颜色禁用颜色 环境变量为True或[core]no_color=True配置(#12601)


无法重现此问题。上面的命令对我有效。我还通过az pipelines show而不是list解决了此问题。我还可以重现光标的跳跃。我的azure devops扩展版本为0.17.0。在浪费了一个上午之后…如果将标题重命名为提及更多相关关键字,这个问题会更容易发现ke:输出文本不可见一个较短的类似东西:[Console]::ResetColor()