回车被添加到Azure CLI -o tsv输出- 400客户端错误:错误的url请求



在一台特定的机器上,我经历了一个CR (0x0D)被添加到-o tsv单值输出

az resource delete --ids $(az sf cluster show --cluster-name my-cluster --query id -o tsv) --verbose

导致错误:

400 Client Error: Bad Request for url: https://management.azure.com/subscriptions/.../resourcegroups/.../providers/Microsoft.ServiceFabric/clusters/my-cluster%0D?api-version=2020-03-01
#->>>---------------------------------------------------------------------------------------------------------------------------------------------------------^^^

参见https://github.com/Azure/azure-cli/issues/15745

根据@kaiWalters回答中的链接,我检查了我在wsl下运行的az版本,发现它较晚,但从windows安装

$ which az
/mnt/c/Program Files (x86)/Microsoft SDKs/Azure/CLI2/wbin/az

wsl中安装debian/ubuntu的特定版本

$ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
.
.
.
$ which az
/usr/bin/az

现在可以看到与Linux版本

的区别
$ storageId=$(/usr/bin/az storage account show --name "$storageAccountName" -o tsv --query id)
$ echo $storageId | wc -c
135

和使用windows版本

$ storageId=$(az storage account show --name "$storageAccountName" -o tsv --query id)
$ echo $storageId | wc -c
136

这个故事的寓意?使用WSL下的Linux版本,使-o tsv不附加回车!

因为我确信这在另一台机器上已经工作了,所以我检查了az --version

从过时的Azure CLI2.9.1升级到2.20.0解决了问题。

这似乎与WSL中的CRLF/LF处理有关-见这里。

相关内容

  • 没有找到相关文章

最新更新