通常,如果我想打印命令的输出并且另外在文件中捕获该输出,则可以使用tee作为解决方案。但我正在使用一个似乎有特殊行为的工具来制作脚本。这是wps无线评估工具欺负。直到cmd完成后tee输出才会出现
如果我正常运行bully命令(没有tee),输出将以标准方式逐步显示。但是,如果我把管道放在最后以这种方式登录| tee "/path/to/my/logfile"
,屏幕上的输出会冻结。它直到命令结束才显示任何内容。结束后,它显示了所有内容(不是一步一步地),当然它也将输出放在日志文件中。
欺负命令的例子:bully wlan0mon -b 00:11:22:33:44:55 -c 8 -L -F -B -v 3 -p 12345670 | tee /root/Desktop/log.txt
为什么?不知道它是否只发生在恶霸或其他程序具有相同的行为。
是否有另一种方法来捕获输出到屏幕上实时输出的文件中?
可能的原因:当标准输出未连接到终端(如管道)时,欺负将输出缓冲更改为*完全缓冲*。 – Jens
请参见[如何使输出的任何shell命令无缓冲?](http://stackoverflow.com/q/3465619/4154375)。 – pjh