含义:输出指定的字符串或者变量(display a line of text or an value)
帮助命令
[root@LeeMumu ~]# man echo
echo 命令用于在 shell 中打印 shell 变量的值,或者直接输出指定的字符串。Linux 的 echo 命令,在 shell 编程中极为常用, 在终端下打印变量 value 的时候也是常常用到的,因此有必要了解下 echo 的用法 echo 命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
在bash中使用ACSII颜色
# echo -e “\033[31m hello \033[0m”
# 如果不加 \033[0m 就不会重置颜色,直到有某些输出流可以重置颜色 比如 # ls
# ##m:
左侧#:
3:前景色
4:背景色
右侧#:颜色种类
1, 2, 3, 4, 5, 6, 7
# 可以组合使用,前景色和背景色
#m:
加粗、闪烁等功能;
# 多种控制符,可组合使用,彼此间用分号隔开;
例如:
# echo -e "\033[1;31;4mHello\033[0m”
echo [OPTION]... [STRING]...
常用选项: -e (激活转义字符)
-n:do not output the trailing newline
-e:enable interpretation of backslash escapes
-E:disable interpretation of backslash escapes (default)
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出。
字符 | 含义 |
---|---|
\a | 发出警告声 |
\b | 删除前一个字符 |
\c | 不产生进一步输出 ( \c 后面的字符不会输出) |
\f | 换行但光标仍旧停留在原来的位置 |
\n | 换行且光标移至行首 |
\r | 光标移至行首,但不换行 |
\t | 插入 tab |
\v | 与 \f 相同 |
\\ | 插入 \ 字符 |
用 echo 命令可以打印带有色彩的文字,同时字体背景色也可以进行设置,字体颜色码和背景颜色码详见下表。
颜色 | 字体颜色码 | 背景颜色码 |
---|---|---|
重置 | 0 | 0 |
黑色 | 30 | 40 |
红色 | 31 | 41 |
绿色 | 32 | 42 |
黄色 | 33 | 43 |
蓝色 | 34 | 44 |
洋红 | 35 | 45 |
青色 | 36 | 46 |
白色 | 37 | 47 |
示例:
# \e[1;31m 将颜色设置为红色
# \e[0m 将颜色重新置回
数字 | 含义 |
---|---|
0 | 关闭所有属性 |
1 | 设置高亮度(加粗) |
4 | 下划线 |
5 | 闪烁 |
7 | 反显 |
8 | 消隐 |
在结合转义字符、颜色字码和特殊字符一起使用时,可以用 分号( ; )分隔。如下:
[root@LeeMumu ~]# echo -e "\e[1;31;5mTeacher Zhang is beautiful.\e[0m"
打印字符串:
[root@LeeMumu ~]# echo "Teacher Zhang is beautiful."
Teacher Zhang is beautiful.
打印变量:
[root@LeeMumu ~]# export TZ="Teacher Zhang is beautiful."
[root@LeeMumu ~]# echo $TZ
Teacher Zhang is beautiful.
通过转义字符可以显示多样文本,可结合以下示例进行理解。
[root@LeeMumu ~]# echo -e "1\n2\n3\n4"
1
2
3
4
[root@LeeMumu ~]# echo -e "1\f2\f3\f4"
1
2
3
4
[root@LeeMumu ~]# echo -e "1\t2\n3\t4"
1 2
3 4
[root@LeeMumu ~]# echo -e "\t\t\t1\r\t\t2\r\t3\r4"
4 3 2 1
[root@LeeMumu ~]# echo -e "1\n2\t3\n4\t5\t6"
1
2 3
4 5 6
通过设置字体颜色和背景颜色可以显示多样文本,可结合以下示例进行理解。
[root@LeeMumu ~]# echo -e "\e[1;31m1\e[0m\n\e[1;32m2\e[0m\t\e[1;33m3\e[0m\n\e[1;34m4\e[0m\t\e[1;35m5\e[0m\t\e[1;36m6\e[0m"
1
2 3
4 5 6
[root@LeeMumu ~]# echo -e "\e[1;41m1\e[0m\n\e[1;42m2\e[0m\t\e[1;43m3\e[0m\n\e[1;44m4\e[0m\t\e[1;45m5\e[0m\t\e[1;46m6\e[0m"
1
2 3
4 5 6
[root@LeeMumu ~]# echo -e "\033[1;31;4mTeacher Zhang is beautiful.\033[0m"
Teacher Zhang is beautiful.