echo命令

三个参数:

       -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

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

原文地址:https://www.cnblogs.com/wqbin/p/10911909.html