我正在从ant文件执行shell脚本。我想在日志文件'buillog-perform.txt'中捕获shell脚本的stdoutput。 下面是我的代码摘录。我的完整版很好。但是这两个shell脚本都没有被执行,也没有在buillog-perform.txt文件中捕获日志。
有人可以帮我吗?如果任何shell脚本到此日志文件,如何收集所有输出和错误?
注意:我想并行执行此目标,因此使用spawn属性。
<target name="perform"
description="This target for the perform.">
<exec dir="." executable="/bin/sh" spawn="true" output="buillog-perform.txt">
<arg line="-c './abc.sh -c ${arg1}'" />
</exec>
</target>
答案 0 :(得分:0)
我建议您使用以下解决方案之一:
1)修改你的代码:
<arg line="-c './abc.sh -c ${arg1}' > stdout.txt 2> stderr.txt" />
2)在bash脚本的开头添加以下行:
#!/bin/bash
exec &>> logfile.txt
…
请注意,>>
只会写>
。此外,您可以使用> outANDerr.txt 2>&1
将所有输出放在同一个文件中。
有关详细信息,请查看此处:http://wiki.bash-hackers.org/syntax/redirection