更新时间:2021-09-08

更新版本:v1.1

一、echo 命令

echo 命令用于将输入的字符串送往标准输出,默认输出的字符间以空白字符隔开,并在最后加上换行号。

1.1 语法

echo [OPTION]... [STRING]...

1.1.1 选项

参数选项描述
-n不输出行尾的换行符,不自动换行
-e允许对下面列出的加反斜线转义的字符进行解释
-E默认选项,禁止对在STRINGs中的那些序列进行解释

1.1.2 特殊字符

启用命令选项 -e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出。

特殊字符描述
\\插入字符\
\a发出警告声
\b退格键
\c最后不加上换行符号
\eescape,相当于 \033
\f换页
\n换行且光标移至行首
\r回车,即光标移至行首,但不换行
\t插入 tab
\v垂直选项卡
\0NNN插入 NNN(八进制)所代表的ASCII字符
\xHH插入 HH(十六进制)所代表的ASCII数字

1.2 自定义颜色

echo 是通过使用“转义序列”来为语句进行涂上颜色的。

1.2.1 语法

echo -e "\033[颜色1;颜色2m 要展示的文字 \033[0m"echo -e "\e[颜色1;颜色2m 要展示的文字 \e[0m"

1.2.2 图示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BSm6oTIn-1632969894596)(./Pictures/echo_color.jpg)]

1.2.3 选项

1.2.3.1 普通选项
参数选项描述
-e表示允许反斜杠(对字符)转义
\033[颜色1;颜色2m为转义序列,它本身是一个整体,中间不要有空格
\033[转义序列的开始。其中\033代表Esc符号,也可以使用\E或\e来代替
颜色1和颜色2表示字体的前景色或背景色
m转义序列的终止标志
\033[0m控制下选项。表示将颜色恢复回原来的配色
1.2.3.2 控制选项

echo 句最后的 \033[0m 是控制选项

参数选项描述
\033[0m关闭所有属性
\033[1m设置高亮度
\033[4m下划线
\033[5m闪烁
\033[7m反显
\033[8m消隐
\033[30m — \33[37m设置前景色
\033[40m — \33[47m设置背景色
\033[nA光标上移n行
\033[nB光标下移n行
\033[nC光标右移n行
\033[nD光标左移n行
\033[y;xH设置光标位置
\033[2J清屏
\033[K清除从光标到行尾的内容
\033[s保存光标位置
\033[u恢复光标位置
\033[?25l隐藏光标
\033[?25h显示光标

1.2.4 常见颜色

  • 前景色

    echo -e "\033[30m 黑色字 \033[0m"
    echo -e "\033[31m 红色字 \033[0m"
    echo -e "\033[32m 绿色字 \033[0m"
    echo -e "\033[33m 黄色字 \033[0m"
    echo -e "\033[34m 蓝色字 \033[0m" 
    echo -e "\033[35m 紫色字 \033[0m" 
    echo -e "\033[36m 天蓝字 \033[0m" 
    echo -e "\033[37m 白色字 \033[0m"
    
  • 背景色

    echo -e "\033[40;37m 黑底白字 \033[0m"
    echo -e "\033[41;37m 红底白字 \033[0m" 
    echo -e "\033[42;37m 绿底白字 \033[0m" 
    echo -e "\033[43;37m 黄底白字 \033[0m" 
    echo -e "\033[44;37m 蓝底白字 \033[0m" 
    echo -e "\033[45;37m 紫底白字 \033[0m" 
    echo -e "\033[46;37m 天蓝底白字 \033[0m" 
    echo -e "\033[47;30m 白底黑字 \033[0m"
    

1.3 示例

不自动换行

[root@CentOS7 ~]# echo -n ja 
ja[root@CentOS7 ~]#

插入特殊符号

[root@CentOS7 ~]# echo -e "This is a \\"
This is a \

发出告警声

[root@CentOS7 ~]# echo -e "This is a \a"
This is a

退格键

[root@CentOS7 ~]# echo -e "This is a end\badd new"
This is a enadd new

显示颜色

echo -e "\e[31m This is a red \e[0m"
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐