AzureCLI@2任务执行失败求助:PowerShell语法错误排查
问题排查:Azure CLI任务中PowerShell脚本执行失败
嘿,我一眼就看出问题出在哪了!你在Azure CLI任务里指定了scriptType: pscore(也就是PowerShell Core)作为脚本运行环境,但你的inline脚本却用了Bash风格的变量赋值语法,这直接导致PowerShell认不出这条命令,才抛出了那个「CommandNotFoundException」错误。
错误根源
在PowerShell里,变量赋值的语法是$变量名 = 执行的命令,而你写的containers=$(az ...)是Bash/zsh这类Shell的写法,PowerShell完全不理解这种格式,自然会把整行当成一个不存在的命令来处理。
两种解决办法
你可以任选一种来修复这个问题:
改用PowerShell的赋值语法
把inline脚本里的赋值语句改成PowerShell支持的格式:$containers = az storage container list --connection-string '...' # 可以加一行输出验证结果 Write-Output $containers切换脚本类型为Bash
如果你更习惯用Bash的语法,直接把任务的scriptType改成bash就行,这样原来的赋值语句就能正常执行了:inputs: azureSubscription: '...' scriptType: bash # 这里改成bash scriptLocation: 'inlineScript' inlineScript: | containers=$(az storage container list --connection-string '...') # 可以加一行输出验证 echo $containers
小提示
修改后可以先跑个简单的测试任务,确认变量能正常获取到存储容器的列表,避免后续步骤再出问题~
内容的提问来源于stack exchange,提问作者Pine Code
相关产品推荐
相关产品推荐

