2011-04-17 94 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