2017-01-10 3 views
1

я бегу на Windows 7.Как Трубное Баш скрипт в файл на окнах

У меня есть Баш скрипт, который работает отлично из командной строки Windows, используя "C:\Program Files\Git\git-cmd.exe" "C:\path\myBashScript.sh" 17.1. Я вижу, что он работает в новом окне bash, вывод выглядит отлично, и он закрывается. Я хочу сделать вывод о выходе в файл для дальнейшей обработки.

Я попытался

"C:\Program Files\Git\git-cmd.exe" "C:\path\myBashScript.sh" 17.1 > C:\out\myBashScript.out.txt

, но все это я получаю на выходе является рабочей папкой, то есть C:\path>

Возможно ли это?

Благодаря

+0

Возможно, выход STDERR? попробуйте '' C: \ Program Files \ Git \ git-cmd.exe "" C: \ path \ myBashScript.sh "17.1> C: \ out \ myBashScript.out.txt 2> & 1' – Ben

+0

@Ben. Это не имеет никакого значения. – Badgerspot

ответ

0

Вы должны различать между выходами, генерируемых в сценарии оболочки, а также те, порожденных выполнением командной строки.

Для легкого захвата вывода сценария оболочки вам может быть проще выполнить перенаправление> в файл захвата внутри скрипта.

Вы не сказали, какой стиль системы вы были, и как она была создана (Cygwin, GfW; командная строка в cmd.exe или bash; интегрированные или разделенные команды git (в cmd.exe) , и т.д). Я подозреваю, что невозможность выполнить простое перенаправление командной строки из-за этой проблемы с настройкой системы.

+0

Я использую git-cmd.exe, который установлен как часть GitForWindows. Я запускаю его из командной строки Windows Cmd, хотя это тестовый стенд для Runner TeamCity CommandLine, так как это станет частью процесса сборки. Я получаю те же результаты в обеих средах, хотя я думаю, что это потому, что TeamCity использует среду командной строки хоста. Прочитав это, есть ли что-нибудь, что вы можете предложить? – Badgerspot

+0

@Badgerspot мое предложение было бы переместить перенаправление внутри указанной команды bash. например (полностью не проверено ;-) '' C: \ Program Files \ Git \ git-cmd.exe "" C: \ path \ myBashScript.sh 17.1> C: \ out \ myBashScript.out.txt "' –

0

«C: \ Program Files \ Git \ git-cmd.exe» - это панель запуска Windows. Я удивлен, что он принимает какие-либо аргументы. Вы должны запустить Баш скрипты с помощью интерпретатора Баш:

"C:\Program Files\Git\bin\bash.exe" "C:\path\myBashScript.sh" 

PS: Я бы посоветовал применить перенаправление в скрипте Баш, а не в окна командной строки, они лучше контролируются там.