user@mbp$ diff --suppress-common-lines -y file1.txt file2.txt
一些输出
user@mbp$ echo $?
1
user@mbp$
我很好奇如果它能满足我的需要,为什么它会抛出退出代码 1 而不是 0?
我意识到这更像是一个一般性的问题,而不是 ubuntu 的问题。
答案1
快速阅读 diff 手册页后,我发现退出代码与我所想的不同。
退出代码 1 = 发现差异。
答案2
是的,我也遇到了同样的问题,当存在差异时,退出代码为 1。在我的场景中,我在脚本中使用它来输出差异,如果我需要在出现故障时进行故障排除,这将很容易。
因此,为了避免脚本因上述错误而失败,我使用了以下格式的命令,以避免失败,diff file1.tst file2.tst || true
这样,命令就会被执行,而且由于它已经与 true 进行或运算,退出代码将为 0,脚本将继续运行而不会退出。
希望能帮助到你!!!