azure - az cli 失败并显示 'appXXXdeploycr.azurecr.io' 无法识别为内部或外部命令、可操作程序或批处理文件

标签 azure az

我想做的就是在 PS 中运行以下命令

az webapp config set -g 'appXXX-dfpg-dev4-web-eastus2' -n 'appXXX-dfpg-dev4-web-eastus2-backoffice-apsvc'  --linux-fx-version 'DOCKER|appXXXdeploycr.azurecr.io/dfpg/backoffice:1.0.20184.1'

我回来了

'appXXXdeploycr.azurecr.io' is not recognized as an internal or external command,
operable program or batch file.

最初我认为 PS 误解了 |作为管道连接,所以我用 ` 转义它,但它没有帮助

最佳答案

我知道这个答案已经晚了,但为了将来的引用,我将提供我的意见。您遇到的是 PowerShell 在解析参数 AZ cli 时解释管道 (|)。您可以使用停止解析符号 --% 强制 PowerShell 进行最少的解析(请参阅 https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#pass-arguments )

az --% webapp config set -g 'appXXX-dfpg-dev4-web-eastus2' -n 'appXXX-dfpg-dev4-web-eastus2-backoffice-apsvc'  --linux-fx-version 'DOCKER|appXXXdeploycr.azurecr.io/dfpg/backoffice:1.0.20184.1'

这将阻止您在语句中使用变量。因此,另一个解决方案是在您提供给 AZ 的值周围使用转义引号(请参阅 Azure CLI: Unable to escape pipe character (|) in Windows PowerShell )

az webapp config set -g 'appXXX-dfpg-dev4-web-eastus2' -n 'appXXX-dfpg-dev4-web-eastus2-backoffice-apsvc'  --linux-fx-version '"DOCKER|appXXXdeploycr.azurecr.io/dfpg/backoffice:1.0.20184.1"'

您甚至可以在版本中使用变量

$inc = "1"
$version="`"DOCKER|appXXXdeploycr.azurecr.io/dfpg/backoffice:1.0.20184.$inc`""
az webapp config set -g 'appXXX-dfpg-dev4-web-eastus2' -n 'appXXX-dfpg-dev4-web-eastus2-backoffice-apsvc'  --linux-fx-version $version

关于azure - az cli 失败并显示 'appXXXdeploycr.azurecr.io' 无法识别为内部或外部命令、可操作程序或批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62763108/

相关文章:

azure-devops - "az pipelines run variables"没有按我预期的方式工作

azure - 如何检索应用服务计划实例名称 (RDXXXXX)?

Windows Azure sdk 1.7,CloudTableClient 缺少 GetTableReference 函数

azure - 使用 az 模板在 Azure Function 上运行 Powershell 命令

t-sql - 如何分析 Azure SQL 死锁?

python - Microsoft 学术知识 API 缺少信息

azure-devops - 有没有办法仅使用 az pipelines cli 创建和发布 azure 发布管道?

azure-devops - Terraform:找不到 Azure CLI 授权配置文件。请确保已安装 Azure CLI

azure - 从 powershell azure 中提取组 ID 字符串

azure - 如何使用不同的标签无缝标记 Azure 资源