当我将“line1 \ nline2 \ nline3”读入字符串时,如下所示:
read string
line1\nline2\nline3
然后回显字符串并将输出定向到文件:
echo $string > text.txt
txt文件现在包含:
line1nline2nline3
我怎样才能使文件包含:
line1
line2
line2
感谢。
答案 0 :(得分:2)
这里的问题是\n
并不意味着换行。这只是不必要地逃避n
的价值。
要做你想做的事,你应该。
您可以执行1. read -r
和2. echo -e
:
read -r string
echo -e "$string"
答案 1 :(得分:0)
只需将$string
放在双引号中:
echo "$string" > text.txt
答案 2 :(得分:0)
您需要添加双引号。
示例:
$ example=line1\nline2
$ echo $example
line1nline2
双引号:
$ example="line1\nline2"
$ echo $example
line1
line2
保存:
$ echo $example >> example.txt
$ cat example.txt
line1
line2