如何在PowerShell变量中保留换行并美观输出az命令JSON结果
Azure CLI JSON输出存变量后保持格式的解决方法
问题原因
直接运行az group show时,Azure CLI返回的是多行字符串数组,PowerShell会自动逐行打印;但用Write-Host $GroupDetails输出时,PowerShell会将数组元素用空格拼接成单行字符串,导致换行丢失。
解决方法
方法1:直接输出变量(最简便)
不需要用Write-Host,直接打印变量即可保留原格式:$GroupName = "你的资源组名称" $GroupDetails = az group show --resource-group $GroupName $GroupDetails方法2:手动拼接换行符后输出
如果必须使用Write-Host,可以将数组元素用换行符重新拼接:$GroupDetails = az group show --resource-group $GroupName Write-Host ($GroupDetails -join "`n")其中"`n"是PowerShell的换行符,能还原原始的多行格式。
方法3:存储为对象再格式化输出(推荐)
将JSON转换为PowerShell对象存储(方便后续操作属性),输出时再转回格式化的JSON:$GroupDetails = az group show --resource-group $GroupName | ConvertFrom-Json # 输出时指定深度避免嵌套内容被截断,根据实际调整Depth值 $GroupDetails | ConvertTo-Json -Depth 10这种方式既可以在变量中存储可操作的对象(比如直接提取
$GroupDetails.id、$GroupDetails.location),输出时又能保持美观的缩进和换行。
内容的提问来源于stack exchange,提问作者Konrad Viltersten
相关产品推荐
相关产品推荐

