使用md5sum验证脚本中的文件


15

我想使用验证文件md5sum -c file.md5。我可以手动执行此操作,但是我不知道如何在脚本中检查有效性。

Answers:


25

您可以使用md5sum的返回状态:

if md5sum -c file.md5; then
    # The MD5 sum matched
else
    # The MD5 sum didn't match
fi

为了使事情更清晰,您可以添加--status告诉md5sum(也许仅是GNU的版本)保持沉默:

if md5sum --status -c file.md5; then
    # The MD5 sum matched
else
    # The MD5 sum didn't match
fi

较短的表格在适当的情况下也一样有效:

md5sum --status -c file.md5 && echo OK

md5sum --status -c file.md5 && echo OK不幸的是,它不会检查是否缺少文件或多余的文件
Erik Martino

1
@Erik md5sum你有什么版本?关于丢失的文件,在我检查过的系统上,md5sum --status -c file.md5 && echo OK如果file.md5缺少列出的文件,则会失败(并且不会打印“ OK”)。关于额外的文件,md5sum -c从不抱怨额外的文件,它只会检查给定校验和文件中列出的文件。
史蒂芬·基特

1
md5sum --status -c file.md5 && echo OK收益率md5sum: stat 'foo': No such file or directoryOKMac上的收益
Erik Martino'5
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.