echo命令
三个参数:
-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/sh read name echo "$name It is a test"
[centos@s203 ~]$ sh test4.sh hahah #标准输入
hahah It is a test #输出
4.显示换行
echo -e "OK! \n" # -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
从运行结果不难看出,”单引号是强引用,不完成变量替换;“反向单引号是弱引用,可以实现命令和变量替换;””双引号强弱程度据两者中间,只可以实现变量替换
大多数人都以为是才智成就了科学家,他们错了,是品格。---爱因斯坦