如何刷新差异的输出

时间:2012-02-17 18:47:52

标签: unix diff ksh

我有类似这样的脚本

diff abc def

if [ "$?" -eq "0" ]; then          

    make modules_install

enif

如何避免diff的输出

如果我diff abc def 2 >/dev/null,则仍然输出显示。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您必须重定向stdout和stderr。您可以使用以下内容:

diff abc def > /dev/null 2>&1 && make modules_install

如果您在文件相同时需要做多件事,那么if语句会更好:

if diff abc def > /dev/null 2>&1; then
  make modules_install
fi

注意:当命令的退出代码为0时,对于shell中的测试,它被视为为真。