Azure DevOps中如何向Azure CLI任务传递含空格的脚本参数
解决Azure DevOps中Azure CLI任务传递含空格参数被截断的问题
问题根源:Shell环境里,未被引号包裹的空格会被当作参数分隔符,带空格的连接字符串会被拆成多个参数,最终只保留第一个空格前的内容。
修改内联脚本:把每个环境变量的键值对用双引号包裹,确保Azure CLI将其识别为完整的单个参数:
az container create --resource-group $(resourceGroup) BLA BLA BLA --environment-variables "DOTNET_ENVIRONMENT=$1" "ConnectionStrings__MyDatabase=$2"调整脚本参数:用双引号包裹带空格的变量,保证传递给脚本的是完整的单参数:
"$(TargetEnvironment)" "$(ConnectionStrings.MyDatabase)"原理说明:
- 脚本参数中的双引号让Azure DevOps替换变量后,将带空格的连接字符串作为一个整体传递给脚本的
$2变量; - 内联脚本里的双引号确保
az命令把整个环境变量键值对当作一个参数处理,不会被空格拆分。
- 脚本参数中的双引号让Azure DevOps替换变量后,将带空格的连接字符串作为一个整体传递给脚本的
内容的提问来源于stack exchange,提问作者user1451111
相关产品推荐
相关产品推荐

