我想做的就是在 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/