我正在寻找一种方法来欺骗 Linux 程序,使其认为它已连接到 TTY,以便输出是行缓冲而不是块缓冲。
当我直接在终端仿真器内调用程序时,它的行为是正确的,但是如果我将它的输出通过管道传输到while read line; do ...; done
或者cat
它没有。
基本上我想得到这样的结果:
exec "${some_strange_wrapper}" "${some_program}" | while read line;
do
# Do something...
done