有人可以帮我摆脱Jenkins groovy脚本中的sed shell命令吗?
好辛苦
sh (""" sed "s/(AssemblyInformationalVersion\(\")(.*)(\")/\1${productVersion}\3/g" AssemblyInfoGlobal/AssemblyInfoGlobal.cs -r """)
三重双引号(""")字符串文字语法允许变量/表达式替换(插值),因此反斜杠(\)被解释为特殊字符“转义”。由于第一个打开的括号不是这样的特殊字符,因此Groovy编译失败。如果要在结果字符串中使用文字反斜杠,则需要转义反斜杠。也就是说,使用双反斜杠(\\)代替一个文字反斜杠。
"""
\
\\
从而:
sh (""" sed "s/(AssemblyInformationalVersion\\(\\")(.*)(\\")/\\1${productVersion}\\3/g" AssemblyInfoGlobal/AssemblyInfoGlobal.cs -r """)