Ben Asked: 2025-01-09 00:37:30 +0800 CST2025-01-09 00:37:30 +0800 CST 2025-01-09 00:37:30 +0800 CST 为什么这个显示输出:ls 1>/dev/null | less 772 如果我这样做:ls 1>/dev/null那么正如预期的那样,屏幕上没有输出,因为它已被重定向到 /dev/null 但是,如果我这样做,ls 1>/dev/null | less我会看到当前目录的文件列表。 怎么做?!? io-redirection 1 个回答 Voted Best Answer Kusalananda 2025-01-09T00:45:40+08:002025-01-09T00:45:40+08:00 您正在使用zshshell。 管道首先将 的标准输出流重定向ls到/dev/null,然后通过管道将其重定向到less。对于zshshell 来说,这意味着数据被复制并发送到/dev/null和less。 实现此功能的功能zsh称为“多操作系统”,默认情况下启用此功能。您可以使用 将其关闭unsetopt multios。 zsh你输入 ls >/dev/null | less 在功能上等同于sh或bash(等等)中的以下管道, ls | tee /dev/null | less
您正在使用
zsh
shell。管道首先将 的标准输出流重定向
ls
到/dev/null
,然后通过管道将其重定向到less
。对于zsh
shell 来说,这意味着数据被复制并发送到/dev/null
和less
。实现此功能的功能
zsh
称为“多操作系统”,默认情况下启用此功能。您可以使用 将其关闭unsetopt multios
。zsh
你输入在功能上等同于
sh
或bash
(等等)中的以下管道,