终端彩色文字色彩小结[zt]
先试试:bash$ echo -e "\e[1;31mHello Color.\e[m"
就可以得到一个红色显示的Hello Color.
主要诀窍就是\e[1;31m色彩控制符号。 \e等价于某些终端下的<ctrl-v><escape>序列。1和31是两个代码,表示高亮和红色字体,其实还
可以用1;31;43来指定43号属性的背景。这些数字的意义在下面讲解。
1.用echo "<ctrl-v><escape>[31m测试<ctrl-v><escape>[37m"
echo "^[[Xm YourChar"
(X=30,31...36?)
请注意这个转义系列的敲法是,<ctrl-v><escape>[30m
echo "<ctrl-v><escape>[<代码>;<代码>;<代码>m"
注意,语句必须要在""之间,属性分隔符为";",如闪烁红色
echo "<ctrl-v><escape>[31;5m测试"
2.前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
3.产生颜色(黑色背景加绿色前景色):
sco: setcolor red; echo "abcd"; setcolor white
Linux/BSD: /usr/bin/echo -e "\033[40;32m"
System V: /usr/bin/echo "\033[40;32m"
Generic Method: /usr/bin/echo "<ctrl-v><escape>[40;32m" #!/bin/bash
# script name: color_info.sh
# used for illustrating the ASCI color
ESC="\033["
echo -n " 40 41 42 43"
echo " 44 45 46 47"
for fore in `seq -s " "30 37`
do
line1="$fore"
line2=" "
for back in `seq -s " " 40 47`
do
line1="${line1}${ESC}${back};${fore}m Normal ${ESC}0m"
line2="${line2}${ESC}${back};${fore};1mBold${ESC}0m"
done
echo -e "$line1\n$line2"
done :roll:
页:
[1]