bash 猫管据称行为不端
bash cat pipe supposedly misbehaving
下面我做了echo 写入stderr;然后它通过管道传输到 cat,它有两个输出流 连接到 /dev/null.
$ echo something 1>&2 | cat 2>&1 >/dev/null
something
总而言之,什么都不应该打印。事实证明,something 仍然被打印!
有人可以解释一下这里发生了什么吗? TY.
当您将输出写入 stderr
时,它会显示输出。如果您将其写入 stdout
,它不会显示输出。
维基百科关于管道的文章中的这张图片解释得很好
有关详细信息,请阅读 Linux 中有关管道的 Wikipedia article。
下面我做了echo 写入stderr;然后它通过管道传输到 cat,它有两个输出流 连接到 /dev/null.
$ echo something 1>&2 | cat 2>&1 >/dev/null
something
总而言之,什么都不应该打印。事实证明,something 仍然被打印!
有人可以解释一下这里发生了什么吗? TY.
当您将输出写入 stderr
时,它会显示输出。如果您将其写入 stdout
,它不会显示输出。
维基百科关于管道的文章中的这张图片解释得很好
有关详细信息,请阅读 Linux 中有关管道的 Wikipedia article。