三个参数:
-n : 关闭输出文字时的自动换行
-e : 开启转义字符功能( \ )
-E : (默认)关闭转义字符功能( \ )
echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
使用-e选项时,如果在字符串中键入以下字符,程序不会将之当成一般字符串输出,而是会使用其转义功能:
• \a 发出警告声;
• \b 删除前一个字符; • \c 最后不加换行符号并抑制字符后输出; • \f 换行但光标仍旧停留在原来的位置; • \n 换行且光标移至行首; • \r 光标移至行首,但不换行; • \t 水平制表符; • \v 垂直制表符; • \\ 插入\字符; • \0nnn 插入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/shread name echo "$name It is a test"
[centos@s203 ~]$ sh test4.shhahah #标准输入
hahah It is a test #输出
4.显示换行
echo -e "OK! \n" # -e 开启转义echo "It it a test"
[centos@s203 ~]$ sh test4.shOK!It it a test
延伸:
单引号”; 双引号””; 反向单引号“引用强弱程度比较
[centos@s203 ~]$ echo 'echo $USER'echo $USER[centos@s203 ~]$ echo "echo $USER"echo centos[centos@s203 ~]$ echo `echo $USER`centos
从运行结果不难看出,”单引号是强引用,不完成变量替换;“反向单引号是弱引用,可以实现命令和变量替换;””双引号强弱程度据两者中间,只可以实现变量替换