首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Jenkinsfile:转义文字美元符号"\$5“或将值表达式"${5}”括起来

Jenkinsfile:转义文字美元符号"\$5“或将值表达式"${5}”括起来
EN

Stack Overflow用户
提问于 2021-06-06 19:18:36
回答 1查看 105关注 0票数 0

我试图在jenkinsfile中执行一个shell脚本,将choice参数转换为字符串参数。但是我得到了语法错误,不确定是什么问题。已尝试建议的解决方案,但没有成功。

代码语言:javascript
运行
AI代码解释
复制
    choice(
        name: 'IDS_ENVIRONMENT_LIST',
        choices: ['8108394', '7827390', '7937032']
   )

  environment {
    EMP_ID = sh(script: """#!/bin/bash 
    echo ${params.IDS_ENVIRONMENT_LIST} | sed -e 's/[][]//g;s/'\''//g;s/,$//;s/, /,/g' """, returnStdout: true ).trim()
}

WorkflowScript: 103:美元符号后的字符串正文字符非法;解决方案:转义文字美元符号"$5“或将值表达式"${5}”括在第103行,第43列。${params.IDS_ENVIRONMENT_LIST} | sed -e]

EN

回答 1

Stack Overflow用户

发布于 2021-06-07 08:33:45

如果你只是想把一个数组转换成一个字符串,那么使用grrovy的join方法:

代码语言:javascript
运行
AI代码解释
复制
def ID =['sdbx-1807402234', 'devl-5187460678', 'test-891137040']
def asString = ID.join(", ")

对于shell,您只需使用:

代码语言:javascript
运行
AI代码解释
复制
def ret = sh(script: "echo ${ID} | sed -e \"s/[][]//g \"\", returnStdout: true)

注意:如果您使用Active choice参数作为数组,那么请注意,用户可以选择其中一个选项,在这种情况下,params.ID将包含所选值,而不是所有值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67862868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档