在Ubuntu 14.04,sha256sum
从coreutils
作品如我所料:
echo 879dd0d7637876be4796f7e6f194a111d21088be85cfe717fc97e2e7f05e79d2 /tmp/myfile | sha256sum -c
/tmp/myfile: OK
但是,在Debian Wheezy上使用完全相同的文件执行完全相同的命令将失败:
sha256sum: standard input: no properly formatted SHA256 checksum lines found
我不明白 如何在Debian上的Shell脚本中可靠地验证校验和?
在Ubuntu 14.04上:
⟫ sha256sum --version
sha256sum (GNU coreutils) 8.21
在Wheezy上:
$ sha256sum --version
sha256sum (GNU coreutils) 8.13
两种操作系统的联机帮助页上说:
SYNOPSIS
sha256sum [OPTION]... [FILE]...
DESCRIPTION
Print or check SHA256 (256-bit) checksums. With no FILE,
or when FILE is -, read standard input.
[...]
-c, --check
read SHA256 sums from the FILEs and check them
*
文件名前面的a 表示二进制模式。比较sha256sum -t /dev/null
(文本模式,默认)和sha256sum -b /dev/null
(二进制模式)的输出。显然,这在Unix / Linux上没有什么区别,但是在Windows上却可以。