破损的管道在不同的终端模拟器中“工作”不同?

破损的管道在不同的终端模拟器中“工作”不同?

当我尝试find . | head -n 5在同一个 Debian 10 系统上的两个不同的终端模拟器 st 和 lilyterm 中运行相同的命令时,我得到不同的结果:

  1. lilyterm 按预期打印 5 行,没有延迟和错误
  2. st 打印 5 行,等待一段时间并打印错误
find: 'standard output': Broken pipe
find: write error

我不明白为什么会发生这种情况以及如何在圣路易斯修复它。我在两个终端中使用相同的 shell (bash)。

使用 fzf 时这很烦人。

UPD:我也用 进行了测试yes。在圣我有

$ yes | head -n 3
y
y
y
yes: standard output: Broken pipe
$

而在 lilyterm 我有

$ yes | head -n 3
y
y
y
$

相关内容