Azure DevOps管道Azure CLI任务设置环境变量报语法错误问题
根因说明
你使用的Azure CLI v1任务在Windows自托管代理上默认采用CMD作为内联脚本的解释器,你编写的$env:ENV="FOO"是PowerShell专属的环境变量赋值语法,CMD无法识别该语法,因此抛出路径语法错误。你在本地PowerShell环境测试自然可以正常运行,两者的脚本解释器不一致是问题的核心原因。
解决步骤
- 方案1(推荐):修改Azure CLI任务配置,将「脚本类型」从默认的CMD切换为PowerShell,原有语法无需修改即可正常执行。
- 方案2:如果需要保留默认CMD解释器,将环境变量赋值代码替换为CMD适配语法:
set ENV=FOO。 - 方案3:将Azure CLI任务版本升级到v2及以上,新版本支持自动适配脚本语法,也可手动指定PowerShell作为解释器,兼容性更强。
- 验证方法:赋值完成后新增一行打印命令验证变量是否生效,PowerShell环境使用
Write-Host $env:ENV,CMD环境使用echo %ENV%,查看管道运行日志的输出即可确认变量传递正常。
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

