例如,如果我需要将一些字符串替换为
%teamcity.agent.work.dir%\\nd_r\\bin\\isf
。但是,如果变量 teamcity.agent.work.dir
是 C:\BuildAgent\work\
,它会删除所有反斜杠并将文本替换为 C:BuildAgentwork\nd_r\bin\isf
。
如果我最初不知道它的值,我如何转义变量中的所有反斜杠?
\Q%env.NDRIVE%\E\nd_r\bin\isf - 它不起作用。
最佳答案
TeamCity 不支持对 %-references 中的值进行额外处理,它只能“按原样”使用。
对于您的情况,可能的解决方法是:
- 不要使用文件内容替换器,并在脚本中执行相关逻辑作为构建的第一步,如有必要,您可以在脚本中处理转义;
- 转义值和supply到 TeamCity 作为已经转义形式的参数。由于文件内容替换器在构建步骤之前工作,因此这可以在构建链中的先前构建中完成,参数 can be used来自链中构建;
- 写一个TeamCity plugin这将为一组预定义的参数提供转义值
关于regex - 如何在文件内容替换器 teamcity 的变量中转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38055578/