小编nor*_*lra的帖子

有没有办法在不停止管道中的其他进程的情况下退出“较少”跟随模式?

很多时候,我发现自己需要将输出保存在具有所有功能(滚动、搜索、快捷方式等)的缓冲区中,而且我已经习惯了less.

但是,我使用的大多数命令都会连续生成输出。less与连续输出一起使用并不能真正按我预期的方式工作。

例如:

while sleep 0.5
do
    echo "$(cat /dev/urandom | tr -cd 'a-zA-Z0-9' | head -c 100)"
done | less -R
Run Code Online (Sandbox Code Playgroud)

这会导致less捕获输出,直到它达到最大终端高度,此时一切都停止(希望仍然接受数据),允许我使用移动键上下滚动。这是想要的效果。

奇怪的是,当我赶上生成的内容(通常是PgDn)时,它会导致less锁定并跟随新数据,直到我终止^C并停止原始命令为止,不允许我使用移动键。这不是想要的效果。

我使用less不正确吗?有没有其他程序可以满足我的愿望?是否可以从此模式“解锁”?

谢谢!

shell less pipe signals job-control

10
推荐指数
2
解决办法
6182
查看次数

标签 统计

job-control ×1

less ×1

pipe ×1

shell ×1

signals ×1