3
#!/bin/sh
STR="-e"
echo ${STR}
STR="${STR} HI"
echo ${STR}
上述腳本打印出來。爲什麼會這樣,我該如何製作一個以「-e」開頭的字符串?與開始字符串shell腳本 「-E」
#!/bin/sh
STR="-e"
echo ${STR}
STR="${STR} HI"
echo ${STR}
上述腳本打印出來。爲什麼會這樣,我該如何製作一個以「-e」開頭的字符串?與開始字符串shell腳本 「-E」
echo
不是一個很好的UNIX公民。如果表現良好,您可以編寫echo -- "$STR"
,--
表示選項列表結束。但事實並非如此,所以你不能。您可以使用printf
來代替。
printf '%s\n' "$STR"
+1;換句話說:如果傳遞給'echo'的參數是從一個或多個看起來像有效選項的標記開始的 - 就像本例中的'-e'一樣,'echo'總是會像這樣解釋它們。 – mklement0