将命令输出重定向到文件 - 仅当从命令关闭stdout时

时间:2012-03-13 19:14:30

标签: bash stdout

标题应该解释一切。我有一个程序,其stdout需要很多来完成 - 我想完全将输出重定向到一个文件,但只有当输出完成并且命令关闭时。我怎么能这样做?

非常感谢!

2 个答案:

答案 0 :(得分:1)

为此,您需要将输出存储在变量中。如果输出非常大,我不建议这样做。

output=$(command)
printf "$output" > logfile

答案 1 :(得分:0)

如果您的目标是在终端和文件中都有输出:

NAME
       tee - read from standard input and write to standard output and files

SYNOPSIS
       tee [OPTION]... [FILE]...

DESCRIPTION
       Copy standard input to each FILE, and also to standard output.

(来自man tee