如何在 shell 脚本中抑制 diff 的所有输出?

问题描述 投票:0回答:3

问候,

我想知道是否有办法抑制 diff 命令的所有输出 这样它就不会输出差异而只返回成功状态?

diff $FILE1 $FILE2
if [ $? -ne 0 ];then
    echo Does not match output.
else
    echo Match.
shell diff
3个回答
63
投票

如果您只想知道两个文件是否不同,

cmp
是更好的工具。

if cmp -s file1 file2; then
   echo Files not changed.
fi

17
投票
diff $FILE1 $FILE2 &>/dev/null

0
投票

我想要 diff 的递归功能并选择:

if [[ "$(diff -rq DIR1 DIR2 | head -n1)" ]]; then
   echo "Directory Contents Differ"
else
   echo "Directory Contents Same"
fi

因为 head 将在差异输出的第一行之后挂起 diff,这应该会导致 diff 提前停止(无需测试其他任何内容)。

© www.soinside.com 2019 - 2024. All rights reserved.