2017-03-01 89 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" 
相關問題