Use md5sum para verificar o arquivo em um script

15

Quero verificar um arquivo usando md5sum -c file.md5. Posso fazer isso manualmente, mas não sei como verificar a validade em um script.

Robin
fonte

Respostas:

25

Você pode usar md5sumo status de retorno:

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

Para tornar as coisas mais limpas, você pode adicionar --statusao tell md5sum(talvez apenas a versão do GNU) para ficar em silêncio:

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

Formulários mais curtos funcionam tão bem quanto apropriado:

md5sum --status -c file.md5 && echo OK
Stephen Kitt
fonte
md5sum --status -c file.md5 && echo OKnão verifica arquivos ausentes ou extras infelizmente
Erik Martino
1
@Erik de que versão md5sumvocê tem? Em relação aos arquivos ausentes, nos sistemas que eu verifiquei, md5sum --status -c file.md5 && echo OKfalha (e não imprime "OK") se um arquivo listado file.md5estiver ausente. Em relação aos arquivos extras, md5sum -cnunca se queixa de arquivos extras, apenas verifica os arquivos listados no arquivo de soma de verificação fornecido.
Stephen Kitt
1
md5sum --status -c file.md5 && echo OKrendimentos md5sum: stat 'foo': No such file or directorye OKem um mac
Erik Martino