![使用 'COMMAND | less' 的管道输出异常,FreeBSD](https://linux22.com/image/1523395/%E4%BD%BF%E7%94%A8%20'COMMAND%20%7C%20less'%20%E7%9A%84%E7%AE%A1%E9%81%93%E8%BE%93%E5%87%BA%E5%BC%82%E5%B8%B8%EF%BC%8CFreeBSD.png)
我正在使用基于 FreeBSD 的 FreeNAS 9.2.10 控制台。我尝试通过 less 作为分页器传输命令的输出:zfs list -v <poolname> | less
。
我得到的是文件的尾部 - 几乎肯定不是全部,因为它从字母列表的 3/4 处开始,即“R”。无论如何,无论我按什么键向上或向下滚动(向下翻页、向下箭头、空格、回车),我都会得到一页波浪符号
~ ~ ~ ~ ~ ~ 结尾 :
并且无法看到文件或页面返回(向上翻页、向上箭头、b 或其他)。我尝试直接使用 -z10 并通过 setenv 强制使用已知情况,即其页面大小 << 文件大小,但它没有做任何不同的事情。
发生了什么事?或者我在做什么?
答案1
此类行为通常表示输出将发送到 stderr 而不是 stdout。您可以使用 强制将其发送到 stdout 2>&1
,如下所示:zfs list -v <poolname> 2>&1 | less
。