如何在.vsts-ci.yml中的VSTS CI上以小写字母设置变量名?

时间:2018-09-05 00:03:38

标签: azure-devops azure-pipelines

给出以下.vsts-ci.yml文件:

queue: Hosted Linux Preview
variables:
    foo: bar

steps:
- script: |
    ./test.sh

以及以下test.sh文件:

#!/bin/bash
echo ${foo}

我得到空的输出。但是,当我将文件更改为:

#!/bin/bash
echo ${FOO}

我得到输出bar

是否有一种方法可以禁止将变量名转换为大写,以便.vsts-ci.yml与期望变量使用小写或大小写混合的工具一起使用?

1 个答案:

答案 0 :(得分:0)

这是预期的行为,无法控制它。有关详细信息,请参见此链接:Define and modify your variables in a script

  

要从脚本定义或修改变量,请使用task.setvariable   记录命令。请注意,更新后的变量值的范围为   阶段正在执行,并且不会跨阶段或跨环境流动。   变量名称被转换为大写,并且字符“。”   和“”替换为“ _”。

     

例如,Agent.WorkFolder成为AGENT_WORKFOLDER。在Windows上,   您可以以%AGENT_WORKFOLDER或$ env:AGENT_WORKFOLDER的身份进行访问。上   在Linux和macOS上,您使用$ AGENT_WORKFOLDER。