我已经安装了gnuwin32,所以我试图用linux命令创建一个批处理文件,从svn中获取修订号并将修订号写入一个文件。目前我有:

svn info | grep -i "Revision" | cut -d" " -f2 | tr -d '\n'>> %~dp0../../Include/Version.hpp

但是,该命令将始终为我提供SVN修订号,但随后是一个培训新行,从而为我提供以下信息:
// Version.hpp
"some revision #" << followed by a '\n'
     << a new line is here

我希望我已经把我的问题说清楚了。有人知道为什么当命令从批处理文件运行而不是直接在控制台中执行时会发生这种情况吗?如何修复此问题,以便在将修订号写入文件时,Linux命令不会附加一个培训新行?
谢谢你的洞察力。

最佳答案

奇怪…可能后面的新行来自重定向。你试过这个吗:

echo -n $(svn info | grep -i "Revision" | cut -d" " -f2 | tr -d '\n') >> %~dp0../../Include/Version.hpp

但是,在我的linux工作站上尝试,两个解决方案对我都很好!使用本机Linux系统:-p!

关于linux - 批处理脚本以从svn获取修订号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8095345/

10-10 17:44