У меня установлен 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 не добавляли новую строку обучения при записи номера версии в файл?
Спасибо за любые идеи.
tr -d '\n'
в конец конвейера перед добавлением в файл отлично работает для меня как из командной строки , так и в сценарий оболочки. Возможно, вы обнаружили проблему с GnuWin32. Я не думаю, что это имеет какое-то отношение к SVN. Сначала посмотрите, сможете ли вы продублировать проблему с помощью простого текста. - person Ray Toal   schedule 11.11.2011