【发布时间】:2016-12-07 20:12:26
【问题描述】:
通常,如果我想打印命令的输出并将该输出捕获到文件中,tee 是解决方案。但是我正在使用一个似乎有特殊行为的实用程序制作一个脚本。这是wps无线评估工具bully。
如果我正常运行欺负命令(不带 tee),输出会以标准方式逐步显示。但是如果我把管道放在最后记录这样| tee "/path/to/my/logfile",屏幕上的输出就会冻结。在命令结束之前它什么都不显示。结束后,它会一次性显示所有内容(不是一步一步),当然它也会将输出放在日志 tee 文件中。
欺负命令示例:bully wlan0mon -b 00:11:22:33:44:55 -c 8 -L -F -B -v 3 -p 12345670 | tee /root/Desktop/log.txt
为什么?不确定它是否只发生在欺负者身上,或者是否有其他程序具有相同的行为。
是否有另一种方法可以将输出捕获到文件中,并在屏幕上实时显示输出?
【问题讨论】:
-
可能原因:当 stdout 未连接到终端(如管道)时,bully 将输出缓冲更改为完全缓冲。
标签: bash output capture wireless tee