如何在shell脚本中自动保存终端输出

时间:2014-02-27 15:47:48

标签: shell sh

我想知道在终端中运行时是否有任何可能的方法将shell脚本的输出保存到文件中。例如,假设我正在使用命令javac foo.java编译java程序。如何将该特定命令的所有输出(错误等)保存到文件中以供将来参考,而不必点击command- s并在每次运行命令后选择保存和替换?

3 个答案:

答案 0 :(得分:2)

使用javac foo.java > output.txt将命令输出捕获到文件output.txt

但是,这会在编译模块时隐藏您的所有输出。

如果您希望在终端中看到构建的输出,同时将输出捕获到文件output.txt,您可以使用tee

javac foo.java | tee output.txt

tee程序从stdin读取并将所有内容写入指定文件,并再次写入stdout。

答案 1 :(得分:1)

这就是你想要的吗?

javac foo.java > output.txt

所有错误都会出现在output.txt中,并且shell上不会打印任何内容。

答案 2 :(得分:1)

我用tee

javac foo.java | tee output.log

类似于这个帖子。

Dump terminal session to file?