在 Jenkins 中编写脚本时用连字符替换下划线

Replace underscore with hyphen while writing script in Jenkins

我正在 Jenkins 中编写管道。我的代码如下所示:

void someFun(){
sh '''
VAR='a_b_c_d'
TEMPVAR=$VAR | tr '_' '-'
echo "With hyphens $TEMPVAR-blah-blah"
echo "With underscores $VAR"
'''
}

stage{
someFun()
}


我想要实现的是一种从第一个变量替换下划线并在第二个变量中使用它的值的方法。还。我不打算改变 VAR。而且我想存储值,而不仅仅是打印它。 当我使用上述方法时,TEMPVAR 为空。

我正在努力实现的目标是可能的吗?如果是,实现它的方法是什么? 我读了很多帖子,但找不到任何有用的:(

您可以通过多种方式实现,例如:

  • tr,但在这种情况下您需要使用额外的 shell:

    TEMPVAR="$(echo "$VAR" | tr _ -)"
    
  • 或使用字符串替换更好:

    TEMPVAR="${VAR//_/-}"