gpt4 book ai didi

linux - 为什么重定向 + 管道 ( 2>&1 |) 合并两个流而不是将 stderr 移动到 stdout?

转载 作者:IT王子 更新时间:2023-10-29 00:58:47 24 4
gpt4 key购买 nike

我读到重定向是从左到右处理的。所以在这个例子中

 command 2>&1 | less

有人会认为 fd 2 先被定向到 fd 1,然后 fd 1 被发送到管道。所以 fd 1 和 2 指向不同的地方。

但实际上这里 fd 1 和 2 都指向管道,因为某些原因 fd 1 先发送到管道,然后 fd 2 发送到 fd 1。为什么在这种情况下从右到左处理重定向?

最佳答案

管道不是重定向,因此实际上重定向(在您的示例中只有一个)正在按照您的想法进行处理。管道在最后是一个单独的东西。

关于linux - 为什么重定向 + 管道 ( 2>&1 |) 合并两个流而不是将 stderr 移动到 stdout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com