Відповіді:
Ви можете використовувати 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
він не працює (і не друкує "ОК"), якщо файл, зазначений у списку 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
На жаль, не перевіряє відсутність та зайві файли