无法在bash脚本中使用echo获取新行

时间:2013-12-11 08:58:48

标签: bash variables echo newline

这让我疯了。

nl=$"\n"

message="bla bla $some_var such $another_var ${nl} wow $another_var"
echo -e "$message" > file.txt

只需打印:

bla bla some_var such another_var wow another_var

我想要打印:

bla bla some_var such another_var
wow another_var

解决方案:输出到html文件时请不要使用\n而是使用<br/>代替LOL

3 个答案:

答案 0 :(得分:2)

$"bla"用于使用bash中的当前语言环境进行翻译。你想要的是知道这些反斜杠逃逸的$'bla'符号。

答案 1 :(得分:2)

您对原始问题的评论让我相信您正在将HTML打印到文件中。你是如何检查它是否有新行?如果您想在自己的网站上获得实际换行,则应使用<br>代替\n

答案 2 :(得分:1)

尝试这个变量初始化,在你的情况下,nl只是字面上用两个字符“\”和“n”初始化:

nl=$'\n'

来自here

  

$'...'引用的字符串扩展结构是一种机制   使用转义的八进制或十六进制值来指定ASCII字符   变量,例如quote = $'\ 042'。