![破损的管道在不同的终端模拟器中“工作”不同?](https://linux22.com/image/173675/%E7%A0%B4%E6%8D%9F%E7%9A%84%E7%AE%A1%E9%81%93%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BB%88%E7%AB%AF%E6%A8%A1%E6%8B%9F%E5%99%A8%E4%B8%AD%E2%80%9C%E5%B7%A5%E4%BD%9C%E2%80%9D%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
当我尝试find . | head -n 5
在同一个 Debian 10 系统上的两个不同的终端模拟器 st 和 lilyterm 中运行相同的命令时,我得到不同的结果:
- lilyterm 按预期打印 5 行,没有延迟和错误
- 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
$