一、说明
1.1 功能
echo 显示一行文本
1.2 可带的选项
-E 不对转义字符进行解释(默认)
-e 对转义字符进行解释
-n 不输出末尾的换行符(echo 默认会给输出的文本添加一个换行符)
1.3 有引号和无引号
无引号,语句中的 ‘’ 作为拼接符,如:
$ echo a\ b(相当于,echo "a b")
a b
$ echo a\n b(相当于,echo "an b")
an b
有引号,没有 -e,语句中的 ‘’ 作为转义字符的一部分,但不会翻译它,如:
$ echo "a\nb"
a\nb
有引号,有 -e,语句中的 ‘’ 作为转义字符,会被翻译为其代表的意义,如:
$ echo -e "a\nb"
a
b
二、举例
2.1 无引号的文本
$ a=a\na\na\n(\ 用于拼接,相当于 a=ananan)
$ echo $a
ananan
$ echo -e $a
ananan
$ echo "$a"
ananan
$ echo -e "$a"
ananan
2.2 有引号,没有经过转义的文本
$ a="a\na\na\n"
$ echo $a
a\na\na\n
$ echo -e $a
a
a
a
$ echo "$a"
a\na\na\n
$ echo -e "$a"
a
a
a
2.3 经过转义的文本
$ a=$(echo -e "a\na\na\n")
(即
a
a
a)
$ echo $a
a a a
$ echo -e $a
a a a
$ echo "$a"
a
a
a
$ echo -e "$a"
a
a
a
三、其他
输出文本内容到文件
$ echo a\na\na\n > a.txt(\ 用于拼接,相当于 a=ananan)
$ cat a.txt
ananan
$ echo "a\na\na\n" > a.txt
$ cat a.txt
a\na\na\n
$ echo -e a\na\na\n > a.txt(\ 用于拼接,相当于 a=ananan)
$ cat a.txt
ananan
$ echo -e "a\na\na\n" > a.txt
$ cat a.txt
a
a
a
分别输出每个词
$ a=$(cat a.txt)
$ for item in "$a"
> do
> echo item
> done
a a a
分别输出每一行
$ a=$(cat a.txt)
$ echo "$a" | while read i
> do
> echo $i
> done
a
a
a