![2>&1 之间的差异和2>&1](https://linux22.com/image/107082/2%3E%261%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%BC%82%E5%92%8C2%3E%261%20.png)
我在 bash 中对一个函数进行了以下两次调用,我将其通过管道传输到另一个捕获错误输出的函数:
>&2 log_stdout | log_err
log_stdout >&2 | log_err
两者之间有语义差异吗?
编辑:建议的重复项,同时具有惊人的社区维基,没有提供这个具体问题的答案。
答案1
它们是等价的。
重定向的相对顺序可能很重要,但它们相对于命令的位置并不重要。
我在 bash 中对一个函数进行了以下两次调用,我将其通过管道传输到另一个捕获错误输出的函数:
>&2 log_stdout | log_err
log_stdout >&2 | log_err
两者之间有语义差异吗?
编辑:建议的重复项,同时具有惊人的社区维基,没有提供这个具体问题的答案。
它们是等价的。
重定向的相对顺序可能很重要,但它们相对于命令的位置并不重要。