如下代码:
1 #! /bin/bash
2 v1=$(cat <<End-of-message
3 -------------------------------------
4 This is line 1 of the message. |
5 This is line 2 of the message. |
6 This is line 3 of the message. |
7 This is line 4 of the message. |
8 This is the last line of the message.
9 -------------------------------------
10 End-of-message
11 )
12 echo "${v1}"
13 v2="line1\nline2"
14 echo "${v2}"
输出:
This is line 1 of the message. |
This is line 2 of the message. |
This is line 3 of the message. |
This is line 4 of the message. |
This is the last line of the message.
line1\nline2
疑问:为什么 echo "${v1}"输出内容时会输出换行,而 echo "${v2}"却不会输出换行(加上-e 参数可以正常输出换行)
1
lululau 2016-11-15 10:13:46 +08:00
因为 v1 里面有换行符,所以就输出换行了; v2 里没有换行符,所以就不会输出换行
echo -e 可以把一些转义符转成对应的实际字符 |
2
silenceeeee OP @lululau 好吧.貌似确实就是这么简单~_~ 一下没理解过来 谢谢了
|