Answers:
echo
追加a,\n
因为您通常不希望外壳中的行不以换行符结尾(如果提示不是从最左边开始,则看起来很丑)。
使用-n
参数省略尾随的换行符,它将打印与您的python脚本相同的校验和:
> echo -n mystringforhash | md5sum
86b6423cb6d211734fc7d81bbc5e11d3 -
echo
拥有一个可行的-n
标志。POSIX关于以下内容说echo
:“如果第一个操作数是-n
,或者任何操作数包含一个<backslash>
字符,则结果是实现定义的。” (来源:pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html)。使用printf
代替。
md5sum
不。这里的输出无关紧要。输入确实。如果不使用-n
,则echo会附加一个换行符,从而导致不同的哈希值。