【发布时间】:2011-11-11 14:26:39
【问题描述】:
我安装了 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 命令在将修订号写入文件时不附加训练新行?
感谢您提供任何见解。
【问题讨论】:
-
有趣的问题。虽然可能没有帮助,但我确实在带有 bash 3 的 Mac 上尝试过,并且您在附加到文件之前将
tr -d '\n'添加到管道末尾的技术对我来说都可以从命令行 和 在 shell 脚本中。您可能已经发现了 GnuWin32 问题。我认为这与SVN无关。看看能不能先用简单的文字复现问题。
标签: linux batch-file newline