希望使用布尔语句比较两个目录

希望使用布尔语句比较两个目录

只是想比较两个目录并确保所有文件都驻留在两个目录中,我知道 diff cmd,但是有没有办法使用布尔逻辑? if 目录 a 内容 == 目录 b 内容 print "true" else print "false" 但不知道脚本编写时的语法仍然是新的。

答案1

您可以使用diff命令并通过退出代码获取布尔结果:

diff dir1/ dir2/ >/dev/null 2>&1
EXITCODE=$?

如果EXITCODE变量为 0,则目录相同,如果为 1,则目录不相同,如果为 2,则存在一些问题,例如您没有读取目录、文件等的权限。

作为参考,您可以检查这个答案。还看一看在某些bash退出代码上。

PS 从评论中你可以使用这样的代码:

if diff dir1/ dir2/ >/dev/null 2>&1
 then echo true
 else echo false
fi

相关内容