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

 

从运行结果不难看出,”单引号是强引用,不完成变量替换;“反向单引号是弱引用,可以实现命令和变量替换;””双引号强弱程度据两者中间,只可以实现变量替换

 

posted @ 2019-05-23 14:56  wqbin  阅读(729)  评论(0编辑  收藏  举报