如何通过管道将bash脚本输出到windows上的文件
我在Windows7上运行 我有一个bash脚本,它可以在Windows命令提示符下运行,使用如何通过管道将bash脚本输出到windows上的文件,windows,git,bash,windows-scripting,Windows,Git,Bash,Windows Scripting,我在Windows7上运行 我有一个bash脚本,它可以在Windows命令提示符下运行,使用“C:\Program Files\Git\Git cmd.exe”“C:\path\myBashScript.sh”17.1。我可以看到它在一个新的bash窗口中运行,输出看起来很好,它关闭了。我要做的是将输出捕获到一个文件中,以便进一步处理 我试过了 “C:\ProgramFiles\Git\Git cmd.exe”“C:\path\myBashScript.sh”17.1>C:\out\myBas
“C:\Program Files\Git\Git cmd.exe”“C:\path\myBashScript.sh”17.1
。我可以看到它在一个新的bash窗口中运行,输出看起来很好,它关闭了。我要做的是将输出捕获到一个文件中,以便进一步处理
我试过了
“C:\ProgramFiles\Git\Git cmd.exe”“C:\path\myBashScript.sh”17.1>C:\out\myBashScript.out.txt
但我在输出中得到的只是工作文件夹,
C:\path>
这可能吗
谢谢您需要区分shell脚本中生成的输出和命令行执行生成的输出 要轻松捕获shell脚本的输出,您可能会发现在脚本中对捕获文件执行重定向>更容易 您没有说明您使用的是什么类型的系统,以及它是如何设置的(Cygwin、GfW;cmd.exe或bash中的命令行;集成或分离的git命令(cmd.exe中)等等)。我怀疑无法执行命令行的简单重定向是因为系统设置问题。“C:\Program Files\Git\Git cmd.exe”是前端windows启动器。我很惊讶这需要任何争论。您应该使用bash解释器运行bash脚本:
"C:\Program Files\Git\bin\bash.exe" "C:\path\myBashScript.sh"
PS:我建议在bash脚本中应用重定向,而不是在windows命令行中应用重定向,它们在那里可以更好地控制。可能是STDERR输出?请尝试
“C:\Program Files\Git\Git cmd.exe”“C:\path\myBashScript.sh”17.1>C:\out\myBashScript.out.txt 2>&1
@Ben。这与我使用git-cmd.exe没有任何区别,git-cmd.exe是作为GitForWindows的一部分安装的。我在Windows Cmd提示符下运行它,尽管这是TeamCity命令行运行程序的测试平台,因为这将构成构建过程的一部分。虽然我认为这是因为TeamCity使用主机的命令行环境,但我在两种环境中都得到了相同的结果。读完这篇文章,你有什么建议吗?@Badgerspot我的建议是将重定向移到引用的bash命令中。e、 g.(完全未经测试;-)“C:\ProgramFiles\Git\Git cmd.exe”“C:\path\myBashScript.sh 17.1>C:\out\myBashScript.out.txt”