三个参数:
-n : 关闭输出文字时的自动换行
-e : 开启转义字符功能( )
-E : (默认)关闭转义字符功能( )
echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;
用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
使用-e选项时,如果在字符串中键入以下字符,程序不会将之当成一般字符串输出,而是会使用其转义功能:
• a 发出警告声;
• 删除前一个字符;
• c 最后不加换行符号并抑制字符后输出;
• f 换行但光标仍旧停留在原来的位置;
•
换行且光标移至行首;
•
光标移至行首,但不换行;
• 水平制表符;
• v 垂直制表符;
• \ 插入字符;
• nnn 插入nnn(八进制)所代表的ASCII字符;NNN为0到3位八进制数字
• xHH 插入HH(十六进制)所代表的ASCII字符;HH为1到2位十六进制数字
实例
1.显示普通字符串:
echo "It is a test" 这里的双引号完全可以省略,以下命令与上面实例效果一致: echo It is a test
2.显示转义字符
echo ""It is a test"" 结果将是: "It is a test" 同样,双引号也可以省略
3.显示变量
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 #!/bin/sh read name echo "$name It is a test"
[centos@s203 ~]$ sh test4.sh hahah #标准输入
hahah It is a test #输出
4.显示换行
echo -e "OK! " # -e 开启转义 echo "It it a test"
[centos@s203 ~]$ sh test4.sh OK! It it a test
延伸:
单引号”; 双引号””; 反向单引号“引用强弱程度比较
[centos@s203 ~]$ echo 'echo $USER' echo $USER [centos@s203 ~]$ echo "echo $USER" echo centos [centos@s203 ~]$ echo `echo $USER` centos
从运行结果不难看出,”单引号是强引用,不完成变量替换;“反向单引号是弱引用,可以实现命令和变量替换;””双引号强弱程度据两者中间,只可以实现变量替换