单个命令中的svn导出和修订

时间:2015-12-18 13:14:23

标签: bash shell svn

我是shell脚本的新手。 我在脚本中有一个现有的命令。

svn export --force "https://$svn_url/SVN_SOURCE_PATH" A_DIRECTORY

此命令显示大量输出,最后以字符串

结束
Exported revision 3779.

我想捕获并将此值(3779)存储到变量中。 我怎么能这样做。

请避免svn infosvn export --force -r

更新

我在线下试过

svn export --force "https://$svn_url/SVN_SOURCE_PATH" A_DIRECTORY | tail -n 1 | sed 's/Exported\ revision\ \([0-9][0-9]*\)\./\1/'

但我遇到的问题是,这一行停止显示控制台消息。

2 个答案:

答案 0 :(得分:0)

如果结果总是在最后一行

svn export --force "https://$svn_url/SVN_SOURCE_PATH" A_DIRECTORY | tail -n 1 | sed 's/Exported\ revision\ \([0-9][0-9]*\)\./\1/'

答案 1 :(得分:0)

  

我在线下试过

svn export --force "https://$svn_url/SVN_SOURCE_PATH" A_DIRECTORY | tail -n 1 | sed 's/Exported\ revision\ \([0-9][0-9]*\)\./\1/'
     

但我面临的问题是,这条线停止显示控制台   消息。

这会将消息复制到 stderr ,以便它们仍然显示,并将值分配给$revision

revision=`svn export --force…|tee /dev/fd/2|sed -n 's/Exported revision \([0-9]*\)./\1/p'`