Użyj md5sum, aby zweryfikować plik w skrypcie

15

Chcę zweryfikować plik za pomocą md5sum -c file.md5. Mogę to zrobić ręcznie, ale nie wiem, jak sprawdzić poprawność skryptu.

Rudzik
źródło

Odpowiedzi:

25

Możesz użyć md5sumstatusu zwrotu:

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

Aby wszystko było czystsze, możesz dodać, --statusaby powiedzieć md5sum(być może tylko wersja GNU), aby milczeć:

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

Krótsze formularze działają równie dobrze, jeśli jest to właściwe:

md5sum --status -c file.md5 && echo OK
Stephen Kitt
źródło
md5sum --status -c file.md5 && echo OKnie sprawdza niestety brakujących lub dodatkowych plików
Erik Martino
1
@Erik, jaką masz wersję md5sum? Jeśli chodzi o brakujące pliki, w sprawdzonych systemach nie md5sum --status -c file.md5 && echo OKdziała (i nie drukuje „OK”), jeśli file.md5brakuje pliku wymienionego w . Jeśli chodzi o dodatkowe pliki, md5sum -cnigdy nie narzeka na dodatkowe pliki, sprawdza tylko pliki wymienione w danym pliku sumy kontrolnej.
Stephen Kitt
1
md5sum --status -c file.md5 && echo OKplony md5sum: stat 'foo': No such file or directoryi OKna komputerze Mac
Erik Martino