shell 脚本中 echo 显示内容设置颜色显示需要使用参数 -e,具体格式如下:
echo -e "\033[背景颜色;字体颜色;ANSI控制码m字符串\033[0m"
可选参数列表如下:
背景颜色参数取值 | 字体颜色参数取值 | 颜色 |
40 | 30 | 黑 |
41 | 31 | 深红 |
42 | 32 | 绿 |
43 | 33 | 黄 |
44 | 34 | 蓝 |
45 | 35 | 紫 |
46 | 36 | 深绿 |
47 | 37 | 白 |
参数 | 属性 |
\33[0m | 关闭所有属性 |
\33[1m | 设置高亮度 |
\33[4m | 下划线 |
\33[5m | 闪烁 |
\33[7m | 反显 |
\33[8m | 消隐 |
\33[30m — \33[37m | 设置前景色 |
\33[40m — \33[47m | 设置背景色 |
\33[nA | 光标上移 n 行 |
\33[nB | 光标下移 n 行 |
\33[nC | 光标右移 n 行 |
\33[nD | 光标左移 n 行 |
\33[y;xH | 设置光标位置 |
\33[2J | 清屏 |
\33[K | 清除从光标到行尾的内容 |
\33[s | 保存光标位置 |
\33[u | 恢复光标位置 |
\33[?25l | 隐藏光标 |
\33[?25h | 显示光标 |
举例:输出一个红底白字的“Hello World!”,则 shell 应为:
echo -e "\033[41;37;1mHello World!\033[0m"
“1m”参数表示“设置高亮度”,结尾参数“0m”表示“关闭所有属性”,如果不设置“0m”,那么接下来的输出都会延续上个输出的属性。
Demo
#!/bin/bash clear echo -e "\033[;32;1mchoi@lanseyujie\033[0m:\033[;34;1m~\033[0m$ sudo apt install girlfriend" echo "正在读取软件包列表... 完成" echo "正在分析软件包的依赖关系树... 完成" echo "有一些软件包无法被安装。" echo "下列的信息可能会对解决问题有所帮助:" echo "下列的软件包有不能满足的依赖关系:" echo "girlfriend: 依赖: house但是它将不会被安装" echo "girlfriend: 依赖: car但是它将不会被安装" echo "house,car: 依赖: money但是它将不会被安装" echo "E: 无法安装的软件包"
效果[doge]
本文标题:为Shell脚本echo内容设置颜色
版权声明:本文使用「署名 4.0 国际」创作共享协议,转载或使用请遵守署名协议。
相关文章
上一篇:AJAX请求文件下载