当前位置: 首页 > news >正文

Jenkins Pipeline 的 `sh` 步骤里使用 ‘‘‘ ... ‘‘‘和 “““ ... “““ 的区别,一篇文章搞定

1️⃣ Groovy 字符串类型

在 Jenkins Pipeline(Groovy 脚本)中:

引号类型用法特点
'single quotes''hello'不做变量插值,内容完全原样输出
"double quotes""hello ${env.VAR}"会对 ${...} 进行 变量插值
'''triple single quotes''''''multi-line string'''原样多行字符串,不做变量插值
"""triple double quotes""""""multi-line string"""多行字符串,支持变量插值

2️⃣ 在 sh 步骤里的区别

示例 1:
sh '''
if [ -d "workspace" ] && [ ! -d "workspace/.git" ]; thenecho "workspace git repo,clean it up"rm -rf workspace
fi
'''
  • 使用 ''',Groovy 不会解析任何 ${...},所有内容直接原样传给 shell。
  • 安全性高,适合写大量 shell 命令。
示例 2:
sh """
if [ -d "${env.REPO_NAME}" ] && [ ! -d "${env.REPO_NAME}/.git" ]; thenecho "${env.REPO_NAME} not git repo,clean it up"rm -rf "${env.REPO_NAME}"
fi
"""
  • 使用 """,Groovy 会对 ${env.REPO_NAME} 进行 变量替换
  • 适合你需要在 shell 里使用 Jenkins 环境变量 或 Groovy 变量的情况。

3️⃣ 总结

  • ''' → 原样多行,不解析变量 → 安全、适合固定 shell 脚本。
  • """ → 原样多行,但会解析 ${...} → 可在 shell 里直接使用 Groovy/Jenkins 变量。

如果你想把 workspace 改成 ${env.REPO_NAME},就必须用 """,否则 '''${env.REPO_NAME} 不会被替换。


http://www.dtcms.com/a/407304.html

相关文章:

  • 金融分析师职场学习技能提升方法分享
  • 网站打包app网站备案是需要去哪里做
  • YOLOv8深度解析:从架构革新到应用实践
  • CICD流程建设之持续测试实践指南
  • 津做网站嘉兴建设企业网站
  • 广州做购物网站平面设计培训班要学多久
  • 【复习】计网每日一题--ALOHA
  • 状态机模式:用Python Enum和字典.get()构建健壮的状态管理系统
  • 悬线法,dp 求解 P4147 玉蟾宫
  • 网站建设 北京wordpress关闭站点
  • 云南建投第十建设有限公司网站商城网站开发哪家好
  • 移动固态硬盘插入电脑后提示“需要格式化”或“文件系统损坏”如何修复?
  • ErrorProne 详解
  • 理解 Elasticsearch 中的分块策略
  • 政务服务网站建设整改报告想建个购物网站
  • 网站建设中如何设置外链接网站开发在哪里接活
  • SpringCloud与微服务
  • 织梦网站统计代码app编写软件
  • Python 生成器generator的使用
  • STM32软件I2C读写AT24C64
  • valgrind与coredump调试
  • 建设网站 创建数据库如何评判一个网站建设的怎么样
  • 【ROS2】Intermediate - 单个进程中组合多个节点
  • Common Go Mistakes
  • 网站良精企业网站系统超级商城系统
  • C++ 数组、字符串详解与 C 的差异
  • 目前顶尖AI所用算法,包含的数学内容,详细列举
  • 北京网站制作公司有哪些做网站需要多少钱平邑
  • 网站开发环境vs2015是什么郑州博大泌尿外科医院
  • Android 网络 - NetworkCapabilities(NetworkCapabilities 概述、传输类型、网络能力、实例实操)