太陽の魔術師

Shell 的彩色输出

  Shell 是可以实现彩色输出的,比如我写一个脚本,希望成功输出绿色的 OK ,错误输出红色的 ERROR ,这样能一眼判断出程序的执行结果。

  首先,输出需要使用 printf 这个命令, echo 无法输出彩色……其次,书写有一定的规则,其格式如下:

\33[ 文字样式;设置前景色(文字颜色);设置背景色m
要彩色显示的内容………………
\33[0m
注意:这里的 33 实际是 ASCII 码,即 \e ,用 \e 也没有问题。

文字样式有以下几种格式可以使用:
\e[0m 关闭所有属性
\e[1m 设置高亮度
\e[2m 变暗
\e[4m 下划线
\e[5m 闪烁
\e[7m 反显
\e[8m 消隐
\e[9m 删除线

文字颜色都是以3开头的:
30 黑色
31 红色
32 绿色
33 黄色
34 蓝色
35 紫色
36 青绿
37 白色

下面的都是背景颜色,以4开头:
40 黑色
41 红色
42 绿色
43 黄色
44 蓝色
45 紫色
46 青绿
47 白色

例如我想用红色显示“Hello the world!”可以这样写:
printf "\33[0;31mHello the world!\n\33[0m"
里面那个\n是用来换行的。

当然也可以分开写:
printf "\33[0;31m"
printf "想要彩色显示的文字"
printf "\33[0m"

留言

发表留言


只对管理者显示

引用

引用 URL
http://exrei.blog128.fc2.com/tb.php/10-e806d07e
引用此文章(FC2博客用户)

FC2Ad

FC2ブログ