协慌网

登录 贡献 社区

Bash 中的 Echo newline 打印文字 \ n

在 Bash 中,试过这个:

echo -e "hello\nworld"

但它不打印换行符,只有\n 。如何让它打印换行符?

我正在使用 Ubuntu 11.04。

答案

您可以使用printf代替:

printf "hello\nworld\n"

printf具有比echo更一致的行为。 echo的行为在不同版本之间变化很大。

你确定你在 bash 吗?这三种方式对我有用:

echo -e "Hello\nworld"
echo -e 'Hello\nworld'
echo Hello$'\n'world
echo $'hello\nworld'

版画

hello
world

$''字符串使用ANSI C 引用

$' <i>string</i> '形式的单词是专门处理的。单词扩展为字符串 ,替换为 ANSI C 标准指定的反斜杠转义字符。