有人可以为我在 Jenkins groovy 脚本中转义这个 sed shell 命令吗?
So hard.
sh ("""
sed "s/(AssemblyInformationalVersion\(\")(.*)(\")/\1${productVersion}\3/g"
AssemblyInfoGlobal/AssemblyInfoGlobal.cs -r
""")
三重双引号 ("""
) 字符串文字语法允许变量/表达式替换(插值),因此反斜杠 (\
) 被解释为特殊字符“转义符”。由于第一个左括号不是一个特殊字符,因此 Groovy 编译失败。如果您的目的是在结果字符串中包含文字反斜杠,则需要转义反斜杠。也就是说,使用双反斜杠 (\\
) 来替代一个字面上的反斜杠。
Thus:
sh ("""
sed "s/(AssemblyInformationalVersion\\(\\")(.*)(\\")/\\1${productVersion}\\3/g"
AssemblyInfoGlobal/AssemblyInfoGlobal.cs -r
""")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)