技术解析
如下代码:
1 #! /bin/bash
2 v1=$(cat < 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 参数可以正常输出换行)
因为 v1 里面有换行符,所以就输出换行了; v2 里没有换行符,所以就不会输出换行
echo -e 可以把一些转义符转成对应的实际字符
好吧.貌似确实就是这么简单~_~ 一下没理解过来 谢谢了