less
为什么的尾部/滚动模式不能与管道一起使用?
例如,我想制作一个构建脚本管道,以便less
使构建脚本的输出可滚动。所以...
make | less +F
...或者...
echo "make | less +F" | sudo sh
...从概念上讲,它可以实现我想要的功能,但我得到的是空白屏幕。一旦退出滚动模式,我就会看到与退出滚动模式时打印到控制台的脚本输出一样多的内容,并且less
从那时起停止更新。再次输入F
没有less
任何效果。
答案1
我之前也遇到过类似的问题:
less +F
由于其实现方式,它根本不能在管道上起作用(只能在常规文件上起作用)(请参阅我自己对上述问题的回答)。
唯一的解决方法显然是将脚本的输出重定向到临时文件(使用 >)。然后您可以less +F
在临时文件上使用。