Echo newline in Bash prints literal \n

In Bash, tried this:

echo -e "hellonworld"

But it doesn't print a newline, only n . How can I make it print the newline?

I'm using Ubuntu 11.04.


You could use printf instead:

printf "hellonworldn"

printf has more consistent behavior than echo . The behavior of echo varies greatly between different versions.


Are you sure you are in bash? Works for me, all three ways:

echo -e "Hellonworld"
echo -e 'Hellonworld'
echo Hello$'n'world

echo $'hellonworld'

prints

hello
world

$'' strings use ANSI C Quoting:

Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped characters replaced as specified by the ANSI C standard.

链接地址: http://www.djcxy.com/p/9734.html

上一篇: 如何解析shell脚本中的符号链接

下一篇: Echo换行符在Bash中打印文字\ n