gpt4 book ai didi

linux - cmd 2>&1 > 日志与 cmd > 日志 2>&1

转载 作者:IT老高 更新时间:2023-10-28 12:41:05 29 4
gpt4 key购买 nike

有什么区别:

cmd > log 2>&1

cmd 2>&1 > log

cmd 在哪里是命令?

我应该更喜欢哪个,为什么?

最佳答案

订单很重要。推理重定向的方法是从左到右阅读它们,并意识到重定向使流指向同一个地方。它们不会使流相互指向。

这是什么意思?如果您说 2>&1 那么您将 stderr 重定向到 stdout 当前重定向到的任何位置。如果 stdout 将进入控制台,则 stderr 也将进入控制台。如果stdout 是一个文件,那么stderr 也是。如果您通过重定向 stdout 来跟进此操作,stderr 仍然指向 stdout used 指向的内容。它不会“跟随”标准输出到新位置。

cmd > log 2>&1

这会将stdout重定向到log,然后将stderr重定向到stdout现在被重定向的地方,即log

最终结果: stdout 和 stderr 都被重定向到 log

错误

cmd 2>&1 > log

这会将 stderr 重定向到当前正在重定向 stdout 的任何位置,通常是控制台。然后 stdout 被重定向到 log。请记住,stderr 不会“跟随”标准输出,因此它会继续重定向到控制台。

最终结果: 标准输出被重定向到日志文件,标准错误(仍然)被发送到控制台。这几乎肯定不是你想要的。

关于linux - cmd 2>&1 > 日志与 cmd > 日志 2>&1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4699790/

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