如何使用diff
比较两个命令的输出?
我知道如何使用它来比较文件的内容filename1
与命令的输出cmd2
:
cmd | diff filename -
Run Code Online (Sandbox Code Playgroud)
我该如何做到这一点,以便我可以有另一个命令,例如cmd1
代替filename
?
我使用的是 dash,它不支持进程替换。
我正在尝试使用文件描述符来更好地理解它们,但我无法理解以下内容。
$ grep "..." 3>&1 1>/dev/null
1
12
13
123
321
3
Run Code Online (Sandbox Code Playgroud)
上面的内容没有在 shell 中显示任何匹配项,这显然是发生的,因为我正在重定向到 /dev/null。我不明白的是为什么3>&1
不这样做,这样我仍然可以看到输出,因为我在 fd 3 中复制了它。
我缺少什么?