0

在 bash 中,当需要知道两个命令之间的区别时,可以使用diff如下方式:

diff <(foo) <(bar)

foobar是复杂的命令,比如说ls | grep something

但是这里只比较标准输出,有没有类似的命令来比较错误输出?或者更好的是,两者同时?

4

2 回答 2

1

管道标准错误到标准输出:

diff <(foo 2>&1) <(bar 2>&1)
于 2013-09-30T18:23:40.483 回答
1

当 foo/bar 是复杂的命令(例如使用管道/重定向):

diff <((foo) 2>&1) <((bar) 2>&1)

说明:在子 shell 中(foo)执行,允许正确地将标准和错误输出合并到标准输出中。foo2>&1

foo在没有子 shell 的情况下执行将2>&1只合并最后一个命令的输出。

于 2013-10-07T15:39:40.013 回答