一个简单的问题: 为什么遵循单线性不工作?如何使IO不阻塞?
$ while true; do date; sleep 1; done | tail -f
答案 0 :(得分:2)
问题不在于非阻塞IO;这是您选择的tail
。
这会用冒号(所有这些)打印出每一行:
while true; do date; sleep 1; done | grep :
tail
的问题在于它会转到最后10行然后开始跟随。但在你的情况下,它永远不会到达终点,因此无法打印最后十个。
答案 1 :(得分:1)
如果你想要做的是不断用你可以做到的日期替换最后一行:
while true; do echo -en "\r"`date`; sleep 1; done