2011-04-17 42 views

回答

183

echo追加\n,因为你通常不希望行不与你的shell断行结束(它看起来非常难看,如果提示不会在最左边开始)。
使用-n参数省略后面断行,它会打印相同的校验和您的Python脚本:

> echo -n mystringforhash | md5sum 
86b6423cb6d211734fc7d81bbc5e11d3 - 
+50

其实这是当我告诉人们使用更多的Python或海格水平我用的是大的例子之一语言,而不是shell脚本的工作,这通常被认为在shell脚本中更好。混合数据和代码的性质以及每个命令的不同语法都会使shell脚本不可见地出错 – jsbueno 2011-04-17 17:05:58

+6

如果只给出的是“shell”,那么您不能相信echo会产生可工作的-n标志。 POSIX表示以下关于“echo”:“如果第一个操作数是”-n“,或者如果任何操作数包含”“字符,则结果是实现定义的。” (来源:http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html)。改用'printf'。 – 2012-12-10 06:10:39