带有以“-e”开头的字符串的Shell脚本

时间:2014-02-08 03:36:56

标签: shell unix echo sh

#!/bin/sh
STR="-e"
echo ${STR}
STR="${STR} HI"
echo ${STR}

上面的脚本打印出来:

 HI

空白后。为什么这样,以及如何以“-e”开头的字符串?

1 个答案:

答案 0 :(得分:5)

echo不是一个非常好的UNIX公民。如果表现良好,您可以编写echo -- "$STR"--表示选项列表的结尾。但事实并非如此,所以你做不到。

最好的办法是改为使用printf

printf '%s\n' "$STR"