当前位置: 首页 > 面试题库 >

詹金斯逃生sed命令

鞠自明
2023-03-14
问题内容

有人可以帮我摆脱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
""")


 类似资料:
  • 问题内容: 我正在尝试在詹金斯(Jenkins)中运行以下内容,但我得到任何建议的错误? 错误-为什么在shell脚本中不使用文件名重新填充? 问题答案: 我建议在双引号中运行bash命令,并转义和字符。考虑以下Jenkins管道示例脚本: 我在此示例中使用的文件包含: 当我运行它时,我得到以下控制台输出: 运行脚本文件后,将其内容更改为: 希望能帮助到你。

  • 我想从詹金斯那里向wildfly部署一个war文件。我尝试了很多方法,但都不管用 我使用了将WAR/EAR部署到wildfly插件,但它对我不起作用,我得到了错误: (致命:无法初始化命令上下文。生成步骤“将WAR/EAR部署到WildFly”将生成标记为失败已完成:失败), 我搜索了那个问题,但给出的答案对我没有帮助。 在我使用将WAR/EAR部署到容器的构建后操作中,它对我也不起作用,我得到了

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。

  • 问题内容: 我正在运行在本地工作的脚本。但是,当我在詹金斯构建过程中运行脚本时,sed无法正常工作。 这是我验证路径正确的代码。文件在那里。 我觉得这与我的语法有关。但这在本地有效,那么我可能做错了什么? 问题答案: 从sed命令中删除和的两个单引号()之间的 空格 。通常,后缀必须立即跟在选项后面,且不能有空格。