TeamCity 中的服务消息不起作用

Service message in TeamCity not work

命令行

echo ##teamcity[setParameter name='test' value='0.%build.number%']
echo %test%

日志

[Step 1/1] ##teamcity[setParameter name='test' value='0.10']
[Step 1/1] 0

怎么了?

在执行脚本之前解析所有参数引用,因此如果 test 在将脚本写入文件之前的值为 0,则脚本内容将为

echo ##teamcity[setParameter name='test' value='0.10']
echo 0

正确的解决方案是将 0.%build.number% 存储在某个变量中并使用它,例如

_test="0.%build.number%"
echo "##teamcity[setParameter name='test' value='0.$_test']"
echo $_test