File 输出到终端不同于我重定向输出到文件和输出到终端
因此,出于某种原因,当我运行脚本并将其按原样输出到终端时,我得到了预期的输出。然而,当我将输出重定向到文件时,我并没有收到完整的输出 假设我有一个名为“filename”的可执行文件并运行它。“/filename”,终端上的输出是:File 输出到终端不同于我重定向输出到文件和输出到终端,file,unix,terminal,output,stdout,File,Unix,Terminal,Output,Stdout,因此,出于某种原因,当我运行脚本并将其按原样输出到终端时,我得到了预期的输出。然而,当我将输出重定向到文件时,我并没有收到完整的输出 假设我有一个名为“filename”的可执行文件并运行它。“/filename”,终端上的输出是: a b c 但是,如果我执行“/filename>output.txt”或“/filename |&tee output.txt”,那么终端上的输出和output.txt文本文件就是: a b 我知道这不是很具体,但我的产出是巨大的。我认为这将是一个足够普遍的问
a
b
c
但是,如果我执行“/filename>output.txt”或“/filename |&tee output.txt”,那么终端上的输出和output.txt文本文件就是:
a
b
我知道这不是很具体,但我的产出是巨大的。我认为这将是一个足够普遍的问题,可以提供一般性的解决方案/可能的问题。
我正在使用别人编写的程序,所以我不知道在哪里调用这个额外的输出。然而,这并不重要,因为程序的功能不会改变,只会改变输出的内容。如果没有最小的代码样本来复制,很难猜测发生了什么 但有些事情你可以试试:
- 将所有输出流重定向到您的文件,即
脚本&>output.txt
- 通过
运行它,并查找strace
和write
调用以查看发生了什么open
- 阅读并调试源代码以了解发生了什么
- 将所有输出流重定向到您的文件,即
脚本&>output.txt
- 通过
运行它,并查找strace
和write
调用以查看发生了什么open
- 阅读并调试源代码以了解发生了什么