这是一条内置命令。
输出指定的字符串
一、语法
echo [选项] [参数]
二、选项
-e:激活转义字符。
使用-e选项时,若字符串中出现以下字符,则特殊处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 不产生进一步输出 (c后面的字符不会输出);
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\e与\E相同 ESC字符;
\nnn 插入 \nnn(八进制)所代表的ASCII字符;
\xHH 十六进制表示的ASCII字符;
\uHHHH 十六进制表示的Unicode字符
\UHHHHHHHH 十六进制表示的Unicode字符
\cx 表示control-x
-n:取消行末之换行符号
三、参数
字符串
四、示例
(一)显示普通字符串:
有三种方式,这三种效果是一样的。
1.使用双引号
echo "It is a test"
2.使用单引号
echo 'It is a test'
3.不使用引号
echo It is a test
(二)使用转义
有两种方法使用转义:
1.-e选项
必须使用双引号
echo -e "\a\b\f\n\r\t\v\055\xb2\u4444\\"
2.使用$'string'
固定格式
echo $'\a\b\f\n\r\t\v\055\xb2\u4444\\'
(三)打印包含引号的文本行
1.包含双引号的文本行
要打印双引号,请将其括在单引号内,或使用反斜杠转义。
echo 'Hello "myfreax"'
echo "Hello \"myfreax\""
Hello "myfreax"
2.包含单引号的文本行
要打印单引号,请将其括在双引号内或使用ANSI-C引号。
echo "I'm a Linux user."
echo $'I\'m a Linux user.'
I'm a Linux user.
(四)-n选项删除末尾换行符
echo -n 'hello world'
(五)使用颜色
语法格式如下:
echo -e "\033[颜色1;颜色2m要展示的文字\033[0m"
例如:echo -e "\e[4;31;42mtest\e[0m"
格式详解:
-e选项:表示允许反斜杠转义。
\033[颜色1;颜色2m:称为转义序列,它本身是一个整体,中间不要有空格。
\033[:转义序列的开始。其中\033代表Esc符号,也可以使用\E或\e来代替。
颜色1;颜色2:叫做ANSI控制码,可以同时存在多个控制码,用分号隔开。表示字体的前景色或背景色,至于颜色1和颜色2哪一个表示前景色,哪一个表示背景色,由其设定的数值来决定,前景色和背景色的数值空间是不同的。
m:转义序列的终止标志。
\033[0m:表示将颜色恢复回原来的配色。
代码 | 作用 | 备注 |
---|---|---|
0 | 重置/正常 | 关闭所有属性。 |
1 | 粗体或增加强度 | |
2 | 弱化(降低强度) | 未广泛支持。 |
3 | 斜体 | 未广泛支持。有时视为反相显示。 |
4 | 下划线 | |
5 | 缓慢闪烁 | 低于每分钟150次。 |
6 | 快速闪烁 | MS-DOS ANSI.SYS;每分钟150以上;未广泛支持。 |
7 | 反显 | 前景色与背景色交换。 |
8 | 隐藏 | 未广泛支持。 |
9 | 划除 | 字符清晰,但标记为删除。未广泛支持。 |
10 | 主要(默认)字体 | |
11–19 | 替代字体 | 选择替代字体{\displaystyle n-10}。 |
20 | 尖角体 | 几乎无支持。 |
21 | 关闭粗体或双下划线 | 关闭粗体未广泛支持;双下划线几乎无支持。 |
22 | 正常颜色或强度 | 不强不弱。 |
23 | 非斜体、非尖角体 | |
24 | 关闭下划线 | 去掉单双下划线。 |
25 | 关闭闪烁 | |
27 | 关闭反显 | |
28 | 关闭隐藏 | |
29 | 关闭划除 | |
30–37 | 设置前景色 | 参见下面的颜色表。 |
38 | 设置前景色 | 下一个参数是5;n或2;r;g;b,见下。 |
39 | 默认前景色 | 由具体实现定义(按照标准)。 |
40–47 | 设置背景色 | 参见下面的颜色表。 |
48 | 设置背景色 | 下一个参数是5;n或2;r;g;b,见下。 |
49 | 默认背景色 | 由具体实现定义(按照标准)。 |
51 | Framed | |
52 | Encircled | |
53 | 上划线 | |
54 | Not framed or encircled | |
55 | 关闭上划线 | |
60 | 表意文字下划线或右边线 | 几乎无支持。 |
61 | 表意文字双下划线或双右边线 | |
62 | 表意文字上划线或左边线 | |
63 | 表意文字双上划线或双左边线 | |
64 | 表意文字着重标志 | |
65 | 表意文字属性关闭 | 重置60–64的所有效果。 |
90–97 | 设置明亮的前景色 | aixterm(非标准)。 |
100–107 | 设置明亮的背景色 | aixterm(非标准)。 |
色彩 | 黑 | 红 | 绿 | 黄 | 蓝 | 洋红 | 青 | 白 |
---|---|---|---|---|---|---|---|---|
前景色 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
背景色 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |