标签: shell unix echo sh
#!/bin/sh STR="-e" echo ${STR} STR="${STR} HI" echo ${STR}
上面的脚本打印出来:
HI
空白后。为什么这样,以及如何以“-e”开头的字符串?
答案 0 :(得分:5)
echo不是一个非常好的UNIX公民。如果表现良好,您可以编写echo -- "$STR",--表示选项列表的结尾。但事实并非如此,所以你做不到。
echo
echo -- "$STR"
--
最好的办法是改为使用printf。
printf
printf '%s\n' "$STR"