该命令sha256sum
正确计算 .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
所有文件都在同一个目录中。我没有创建.sha256 文件的内容:
user@myHostname:~/Desktop/RT_N16/Merlin_JohnsFork$ cat sha256sum.sha256
545927719c46e359a0db6bf9dcb348f99c0f3d8786725780cb182994c61b19be RT-N16_3.0.0.4_374.43_2-39L3j9527.trx
该sha256sum
命令读取 .sha256 文件并返回错误:
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
问题
上面的语法是错误的还是 .sha256 文件有问题?
该命令是否试图打开 filename=
_2-39L3j9527.trx
?
如果你仔细看,你可以看到这个消息实际上是
这是 shell 告诉您在字符串末尾
$'\r'
有一个回车 ( ) 字符的方式。\r
这表明该sha256sum.sha256
文件具有 DOS 或 Windows 样式的行结尾 (CRLF) 代替 Unix 标准 LF 结尾。您可以使用如何将 Windows 行尾更改为 Unix 版本中描述的方法之一修复文件
您可以使用
dos2unix
专门为此设计的程序:将替换所有线路中的所有 CR,就地操作。
要将输出保存在不同的文件中:
您可能需要先安装它: