2017-01-10 153 views
1

我在Windows 7我如何管bash脚本输出到一个文件在Windows

运行具有使用"C:\Program Files\Git\git-cmd.exe" "C:\path\myBashScript.sh" 17.1运行从Windows命令提示符处罚款bash脚本。我可以看到它在新的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

需要外壳脚本内所产生的输出,和通过在命令行执行生成的那些之间进行区分。

要轻松捕获shell脚本的输出,您可能会发现在脚本中对捕获文件进行重定向更容易。 (Cygwin,GfW; cmd.exe中的命令行或bash;集成的或分离的git命令(在cmd.exe中))您可能没有说明系统的样式和设置方式(Cygwin,GfW; cmd.exe中的命令行或bash;等)。我怀疑无法执行命令行的简单重定向是因为系统设置问题。

+0

我正在使用作为GitForWindows的一部分安装的git-cmd.exe。我从Windows Cmd Prompt运行它,虽然这是TeamCity的CommandLine runner的测试版,因为这将构成构建过程的一部分。我在两种环境中都得到了相同的结果,但我认为这是因为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启动程序。我很惊讶它根本没有任何争论。您应该运行使用bash解释的bash脚本:

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

PS:我建议应用bash脚本里,而不是在Windows命令行重定向,他们是更好的控制那里。

相关问题