Используйте md5sum для проверки файла в скрипте


15

Я хочу проверить файл, используя md5sum -c file.md5. Я могу сделать это вручную, но я не знаю, как проверить правильность сценария.

Ответы:


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к сожалению, не проверяет наличие отсутствующих или лишних файлов
Эрик Мартино,

1
@ Эрик, какая md5sumу тебя версия ? Что касается отсутствующих файлов, в системах, которые я проверял, md5sum --status -c file.md5 && echo OKпроисходит сбой (и не выводится «OK»), если отсутствует файл, указанный в списке file.md5. Что касается дополнительных файлов, md5sum -cникогда не жалуется на дополнительные файлы, он только проверяет файлы, перечисленные в данном файле контрольной суммы.
Стивен Китт

1
md5sum --status -c file.md5 && echo OKуступает md5sum: stat 'foo': No such file or directoryи OKна
Эрик Мартино
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.