当将命令输出传输到 less 时,我将使用鼠标滚动到输出的底部,我会发现 less 被困在向前滚动中,阻止我向后滚动输出。这与按 的行为相同F。有没有办法从向前滚动中解锁更少?
再现:docker-compose up | less
然后按F。
答案1
我相信less
进入此模式后实际上会说“等待数据...(中断中止)”,至少当管道的左侧生成数据的速度不够快时。
“中断”的意思是“按下Ctrl+C”。这会将 INT(中断)信号发送到less
进程(它将信号发送到前台进程组中的所有进程,在您的情况下,包括 和less
)docker-compose
。
为了避免将中断信号发送到管道左侧的数据生成命令,您可以使该命令完全忽略该信号:
( trap '' INT && some-command ) | less
就你而言,
( trap '' INT && docker-compose up ) | less