繁体   English   中英

diff whist在if语句中的输出? [重复]

[英]output from diff whist in if statement? [duplicate]

这个问题已经在这里有了答案:

我正在使用diff操作来检查几个文件,但想知道是否可以同时使用它来触发事件(例如, echo将行连接到终端等),而不必“手动”检查是否存在输出报告。

我曾考虑过使用报表创建作为触发器,但是据我所知,无论如何都会创建该文件,如果没有差异,该文件将为空吗?

基本上,是否有可能在if语句diff输出文件,以保持我的bash配置文件和脚本本身尽可能整洁?

(如果有帮助,这是我在该问题中获得的出色帮助的后续问题: 下次ssh登录时的通知

例如有什么效果吗?

if [ diff filex filey > report.txt == true ]
   # So the report.txt is created but the 'state' of
   # the diff query is preserved and evaluated...
     then echo "Files are different"
     else
         break
fi

希望有道理。

这是在Ubuntu bash FYI中。

是的, diff出口为0的状态,如果没有差异列表(这是壳“真”),所以你可以做这样的:

if ! diff <file1> <file2>
then
  do the thing when there are diffs
else
  do the thing when all is same
fi

即使您重定向输出,这也应该起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM