UNPKG

3.23 kBMarkdownView Raw
1echo
2===
3
4输出指定的字符串或者变量
5
6## 补充说明
7
8**echo命令** 用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
9
10### 语法
11
12```shell
13echo(选项)(参数)
14```
15
16### 选项
17
18```shell
19-e:启用转义字符。
20-E: 不启用转义字符(默认)
21-n: 结尾不换行
22```
23
24使用`-e`选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
25
26- `\a` 发出警告声;
27- `\b` 删除前一个字符;
28- `\c` 不产生进一步输出 (\c 后面的字符不会输出);
29- `\f` 换行但光标仍旧停留在原来的位置;
30- `\n` 换行且光标移至行首;
31- `\r` 光标移至行首,但不换行;
32- `\t` 插入tab;
33- `\v` 与\f相同;
34- `\\` 插入\字符;
35- `\nnn` 插入 `nnn`(八进制)所代表的ASCII字符;
36
37### 参数
38
39变量:指定要打印的变量。
40
41### 实例
42
43```shell
44/bin/echo Hello, world!
45```
46
47在上面的命令中,两个词(Hello 和 world!)作为单独的参数传递给 echo,并且 echo 按顺序打印它们,用空格分隔
48
49下一个命令产生相同的输出:
50
51```shell
52/bin/echo 'Hello, World!'
53```
54
55但是,与第一个示例不同,上述命令提供了单引号字符串 'Hello, world!' 作为一个单一的一个参数。
56
57单引号将可靠地保护它免受 shell 解释,将特殊字符和转义序列逐字传递给 echo。
58
59例如,在 `bash shell` 中,变量名前面有一个美元符号 ($)。 在下一个命令中,引号内的变量名按字面意思处理; 在引号之外,它被转换为它的值。
60
61```shell
62/bin/echo 'The value of $PATH is' $PATH
63# The value of $PATH is
64# /home/hope/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
65```
66
67用echo命令打印带有色彩的文字:
68
69**文字色:**
70
71```shell
72echo -e "\e[1;31mThis is red text\e[0m"
73This is red text
74```
75
76* `\e[1;31m` 将颜色设置为红色
77* `\e[0m` 将颜色重新置回
78
79颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
80
81```shell
82echo -e "\x1b[30;1m 0 黑色 \x1b[0m"\
83"\x1b[31;1m 1 红色 \x1b[0m"\
84"\x1b[32;1m 2 绿色 \x1b[0m"\
85"\x1b[33;1m 3 黄色 \x1b[0m"\
86"\x1b[34;1m 4 蓝色 \x1b[0m"\
87"\x1b[35;1m 5 洋红 \x1b[0m"\
88"\x1b[36;1m 6 青色 \x1b[0m"\
89"\x1b[37;1m 7 白色 \x1b[0m"
90```
91
92 **背景色**
93
94```shell
95echo -e "\e[1;42mGreed Background\e[0m"
96Greed Background
97```
98
99颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
100
101 **文字闪动:**
102
103```shell
104echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
105```
106
107红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐
108
109
110
111**输出内容结尾不添加换行符**
112
113```shell
114echo -n 'hello'
115```