Використовуйте 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На жаль, не перевіряє відсутність та зайві файли
Erik Martino

1
@Erik, яка у md5sumвас версія ? Що стосується відсутніх файлів, в системах, які я перевірив, md5sum --status -c file.md5 && echo 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.