Bash 文件的md5sum验证

Bash 文件的md5sum验证,bash,ubuntu-12.04,ubuntu-13.10,Bash,Ubuntu 12.04,Ubuntu 13.10,我有两个文件hello.txt和hello.txt.md5 MD5输出采用以下格式 cat hello.txt.md5 b1946ac92492d2347c6235b4d2611184 我编写了一个简单的脚本来验证md5sum csum=$(cat hello.txt.md5) echo "$csum hello.txt" | md5sum -c 该脚本在ubuntu13.10中运行良好,但在ubuntu12.04中抛出以下错误 md5sum:标准输入:未找到格式正确的MD5校验和行 有人

我有两个文件
hello.txt
hello.txt.md5

MD5输出采用以下格式

cat hello.txt.md5 
b1946ac92492d2347c6235b4d2611184
我编写了一个简单的脚本来验证md5sum

csum=$(cat hello.txt.md5)
echo "$csum hello.txt" | md5sum -c
该脚本在
ubuntu13.10
中运行良好,但在
ubuntu12.04
中抛出以下错误

md5sum:标准输入:未找到格式正确的MD5校验和行


有人能告诉我如何在Ubuntu12.04中做到这一点吗

至少在我的md5sum上,生成的文件在校验和和文件名之间有两个空格。测试了您的脚本,但它不起作用,在$csum和hello.txt之间添加了空格,结果成功了

原因可能是
md5sum
版本之间发生了一些变化

对这两个版本执行
md5sum
,可以为您提供每个版本所需格式的示例

具体而言,报告说:

默认模式是打印带有校验和的行,一个字符指示类型('*'表示二进制,''表示文本),以及每个文件的名称

因此,在文本模式下进行检查时,通常会出现两个空格(实际上,使用
md5sum-t t.txt
进行检查可以确认这一点)。我想新版本已经取消了这个要求

事实上,标题为“md5sum:handle BSD反向格式校验和”,日期为2011年9月16日。它可以在两种格式之间进行
md5sum
猜测。

提交是在Ubuntu 12.04时进行的。

md5sum的版本是什么?我打赌文件格式已经改变了
md5sum-c
的输入应该与输出相同。那么,12.04版的输出是什么样子的呢?是的,我现在可以使用了,如果是Ubuntu 12.04版的话,它应该有两个空格