【发布时间】:2018-02-08 23:56:59
【问题描述】:
我有一个这样的 bash 循环:
for f in *.fastq; do
echo $f
main command
done
我想将在我的终端中打印的任何内容(包括文件名和错误消息)打印到文本文件中。我怎样才能做到这一点?谢谢
【问题讨论】:
-
如果您只是指 stdout 和 stderr,在
done之后立即附加> >(tee somefilename) 2>&1就足够了。如果您真的指的是终端输出,例如包含直接写入/dev/tty的内容(出于安全原因,通常明确地绕过日志记录或拦截),那么您需要使用script、screen(带有其日志记录选项)等工具。 -
完美!谢谢!