如何区分两个命令的输出?

KAL*_*VAN 31 shell bash diff command-substitution

如何使用该diff命令来比较 2 个命令的输出?

这样的东西存在吗?

diff  ($cat /etc/passwd) ($cut -f2/etc/passwd)
Run Code Online (Sandbox Code Playgroud)

Joh*_*024 53

使用进程替换

diff <(cat /etc/passwd) <(cut -f2 /etc/passwd)
Run Code Online (Sandbox Code Playgroud)

<(...)称为进程替换。它将命令的输出转换为diff可以读取的类文件对象。

虽然进程替换不是 POSIX,但 bash、ksh 和 zsh 支持它。


小智 8

2个命令输出之间的区别:-

$ diff <(command1) <(command2)

命令输出和文件之间的区别:-

$ diff <(command) filename

2个文件之间的区别:-

$ diff file1 file2

例如 $ diff <(mount) <(cat /proc/mounts)