Bash 替换Jenkins shell步骤中的特定字符

Bash 替换Jenkins shell步骤中的特定字符,bash,jenkins,Bash,Jenkins,我在Jenkins的工作中有一个变量$svn_tag 其值为分支/sprint-77 我想要输出branchs-sprint-77,但没有得到任何输出 我试过这两种方法: $svn_tag|tr "/" - ${svn_tag////-} 它在bash脚本中提供输出,但在Jenkins作业中不起作用 我做错了什么?您的第一种方法没有意义,尤其是因为您试图将“$svn_tag”作为命令运行。你的第二种方法对我有效: svn_tag=branches/sprint-77 e

我在Jenkins的工作中有一个变量
$svn_tag

其值为
分支/sprint-77

我想要输出
branchs-sprint-77
,但没有得到任何输出

我试过这两种方法:

$svn_tag|tr "/" -
${svn_tag////-}
它在bash脚本中提供输出,但在Jenkins作业中不起作用


我做错了什么?

您的第一种方法没有意义,尤其是因为您试图将“$svn_tag”作为命令运行。你的第二种方法对我有效:

 svn_tag=branches/sprint-77
 echo ${svn_tag////-}
打印Branchs-sprint-77

为了安全起见,您还可以通过执行

echo bash=$BASH_VERSION

虽然我不认为这个特性是依赖于版本的。我的版本是4.4.12(3)-发行版。

这两个版本在Bash脚本中也不起作用。谢谢。我试着把它当作命令使用,结果成功了<代码>$svn_tag | tr“/”
$svn_tag | tr“/”
没有意义。我想你的意思是
echo$svn_tag | tr”/
或更好的
tr/-