如何捕获 shell 输出到文本文件?

如何捕获 shell 输出到文本文件?

在 Linux 中,我可以输入echo "hello" >& text.output并在文件中获取文本输出。

如何在 Windows 8 中获得这种输出?

有没有办法从输出中辨别错误?

tracert我的动机是尝试记录Windows 8 和 Windows 7的输出并研究之间的差异。

答案1

与Linux下的方法相同:

echo "Hello" >text.output

错误通常会打印到stderr流中(这是 #2)。您可以捕获stderr流:

del 1.txt 2>text.output

如果该文件1.txt不存在,text.output将包含Could not find 1.txt


您可以重定向stdoutstderr

echo "Hello" 2>&1

或者stderrstdout

echo "Hello" 1>&2

PS 我不确定你的命令是否能在 Linux 中工作。无论如何echo "hello" >& text.output都会产生语法错误:>& was unexpected at this time.

答案2

Windows 中的 shell 现在与 Linux 上的 BASH 非常相似。因此,您只需执行

echo "Hello" > text.txt

或者,运行你的程序,并让系统输出写入text.txt

run_program > text.txt

如果需要跟踪错误,请使用以下命令:

run_program 2> error.txt

您可以在此处找到更多信息和示例。I/O 重定向

相关内容