我在 bash 中对一个函数进行了以下两次调用,我将其通过管道传输到另一个捕获错误输出的函数:
>&2 log_stdout | log_err
log_stdout >&2 | log_err
两者之间有语义差异吗?
编辑:建议的重复项,同时具有惊人的社区维基,没有提供这个具体问题的答案。
答案1
它们是等价的。
重定向的相对顺序可能很重要,但它们相对于命令的位置并不重要。
我在 bash 中对一个函数进行了以下两次调用,我将其通过管道传输到另一个捕获错误输出的函数:
>&2 log_stdout | log_err
log_stdout >&2 | log_err
两者之间有语义差异吗?
编辑:建议的重复项,同时具有惊人的社区维基,没有提供这个具体问题的答案。
它们是等价的。
重定向的相对顺序可能很重要,但它们相对于命令的位置并不重要。