echo命令用来打印信息,是一个最常用的命令。在命令行中常用来打印环境变量的值,已确定当前环境中是否设置了指定的环境变量。在shell脚本中,常用来打印信息和帮助调试程序。

1.命令格式:

1
echo <string>

2.命令功能:

 用于字符串的输出

3.命令参数:

1
2
-n, 打印信息之后不换行。
-e, 对字符串转义。

4.使用实例:

实例1:打印当前的PATH设置

1
echo $PATH

实例2:打印当前的LANG(系统语言)设置

1
echo $LANG

实例3:打印之后不换行

1
2
3
4
5
# 此处使用了-n参数,避免在输出信息之后自动换行。
# read命令从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量name
[root@localhost ~]# echo -n "Please input your name: "; read name; echo "Your name is $name"
Please input your name: lxy
Your name is lxy

实例4:对输出信息进行转义,比如输出换行

1
2
# 加-e选项将\n转义成换行
echo -e "hello\nworld"

或者:

1
echo hello; echo world

可以使用如下转义字符:

1
2
3
4
5
6
7
8
9
10
\a, 发出警告声;
\b, 删除前一个字符;
\c, 最后不加上换行符号;
\f, 换行但光标仍旧停留在原来的位置;
\n, 换行且光标移至行首;
\r, 光标移至行首,但不换行;
\t, 插入tab;
\v, 与\f相同;
\\, 插入\字符;
\nnn, 插入nnn(八进制)所代表的ASCII字符;

实例5:显示命令执行结果

1
2
3
# 注意: 这里使用的是反引号 `, 而不是单引号 '。
# 结果将显示当前日期
echo `date`

实例6:给文件追加内容

1
2
3
4
5
6
7
8
# 如果文件不存在会"自动创建"
#"覆盖写"的方式追加到文件
# 文件当中之前的内容不复存在了,实际上是修改了原文件的内容
echo 内容 > 文件
# 或者
#"纯追加"的方式写入到文件
# 对文件之前的内容不修改,只进行增添,也叫追加重定向
echo 内容 >> 文件