Ответы:
Вы можете использовать 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у тебя версия ? Что касается отсутствующих файлов, в системах, которые я проверял, md5sum --status -c file.md5 && echo OKпроисходит сбой (и не выводится «OK»), если отсутствует файл, указанный в списке file.md5. Что касается дополнительных файлов, md5sum -cникогда не жалуется на дополнительные файлы, он только проверяет файлы, перечисленные в данном файле контрольной суммы.
md5sum --status -c file.md5 && echo OKуступает md5sum: stat 'foo': No such file or directoryи OKна
md5sum --status -c file.md5 && echo OKк сожалению, не проверяет наличие отсутствующих или лишних файлов