给出以下.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
与期望变量使用小写或大小写混合的工具一起使用?
答案 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。