2014-02-08 71 views

回答

5

echo不是一个很好的UNIX公民。如果表现良好,您可以编写echo -- "$STR"--表示选项列表结束。但事实并非如此,所以你不能。您可以使用printf来代替。

printf '%s\n' "$STR" 
+0

+1;换句话说:如果传递给'echo'的参数是从一个或多个看起来像有效选项的标记开始的 - 就像本例中的'-e'一样,'echo'总是会像这样解释它们。 – mklement0