2017-03-01 55 views
1

在我詹金斯作业代替它, 我使用一个环境变量:$ SVN_URL其中:壳牌:一个字符后检索字符串,并与另一

$SVN_URL=http://svn.local:8080/svn/project1/trunk 

我在进一步执行(用我的$ SVN_URL)

svn copy http://svn.local:8080/svn/project1/trunk http://svn.local:8080/svn/project1/tags/v$RELEASE_VERSION \ 
      -m "Tagging the v$RELEASE_VERSION release" 

这个命令可以通过这个来代替:这一步shell命令

svn copy $SVN_URL http://svn.local:8080/svn/project1/tags/v$RELEASE_VERSION \ 
      -m "Tagging the v$RELEASE_VERSION release" 

但我还是没能优化它的第二部分是:

http://svn.local:8080/svn/project1/tags/v$RELEASE_VERSION 

所以我WANN用我$ SVN_URL它。

所以恢复:

  1. 我的$ SVN_URL包含:http://svn.local:8080/svn/project1/trunk/
  2. 我想从中获取部分:/trunk/
  3. 添加它的一部分:/tag/

建议?

+0

您可以用'sed' [Bash中提取子](的 –

+1

可能的复制http://stackoverflow.com/questions/428109/ extract-substring-in-bash) – tripleee

+0

该问题的许多答案都可以移植到其他POSIX shell。这里没有标签,因此这个问题不是不可能实际上是一个Bash问题。其他方式,一个共同的副本,太广泛,因为在发布之前,OP似乎没有做过任何类型的研究。 – tripleee

回答

0

我用简单的 “sed的”,并且工作得很好

svn copy $SVN_URL "$(echo $SVN_URL| sed 's/trunk/tags/')"/v$RELEASE_VERSION \ 
      -m "Tagging the v$RELEASE_VERSION release" 
相关问题