O comando sha256sum
calcula corretamente o checksum indicado no arquivo .sha256:
user@myHostname:~/Desktop/RT_N16/Merlin_JohnsFork$ sha256sum RT-N16_3.0.0.4_374.43_2-39L3j9527.trx
545927719c46e359a0db6bf9dcb348f99c0f3d8786725780cb182994c61b19be RT-N16_3.0.0.4_374.43_2-39L3j9527.trx
Todos os arquivos estão no mesmo diretório. Eu NÃO criei o conteúdo de um arquivo .sha256:
user@myHostname:~/Desktop/RT_N16/Merlin_JohnsFork$ cat sha256sum.sha256
545927719c46e359a0db6bf9dcb348f99c0f3d8786725780cb182994c61b19be RT-N16_3.0.0.4_374.43_2-39L3j9527.trx
O sha256sum
comando lê o arquivo .sha256 e retorna um erro:
user@myHostname:~/Desktop/RT_N16/Merlin_JohnsFork$ sha256sum -c sha256sum.sha256
sha256sum: 'RT-N16_3.0.0.4_374.43_2-39L3j9527.trx'$'\r': No such file or directory
: FAILED open or read_2-39L3j9527.trx
sha256sum: WARNING: 1 listed file could not be read
PERGUNTAS
A sintaxe acima está incorreta ou há um problema com o arquivo .sha256?
O comando está tentando abrir um filename=
_2-39L3j9527.trx
?
Se você olhar com atenção, verá que a mensagem é realmente
O
$'\r'
é a maneira do shell de dizer a você que há um\r
caractere de retorno de carro ( ) no final da string. Isso indica que osha256sum.sha256
arquivo tem terminações de linha no estilo DOS ou Windows (CRLF) no lugar das terminações LF padrão do Unix.Você pode corrigir o arquivo usando um dos métodos descritos em Como alterar o final de linha do Windows para a versão Unix
Você pode usar o programa
dos2unix
, projetado especificamente para isso:substituirá todos os CR de todas as linhas, em operação local.
Para salvar a saída em um arquivo diferente:
Talvez seja necessário instalá-lo primeiro: