Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

Bash脚本中使用颜色

已有 4367 次阅读 2014-3-22 07:39 |个人分类:我的工具箱|系统分类:科研笔记| 颜色, bash, echo

Bash脚本中使用颜色
2014–03–21 16:40:35

在bash脚本的输出中适当使用颜色可以使结果呈现得更直观, 便于快速获取信息. 试想, 从一堆黑色文字中获取某个数字, 你可能要花点时间查看, 分析, 才能知道答案. 若这个数字是以红色标识出来的, 那大多数人一眼就可以得到答案, 所花的时间也要少得多.

利用echo命令可以设置输出的颜色, 格式为:

echo -e “33[前景色;背景色;模式m输出字符33[0m”

33为ASCII码ESC(八进制33, 十进制27), 也可用e代替, 即

echo -e “e[前景色;背景色;模式m输出字符e[0m”

30–37设置前景色, 40–47设置背景色, 颜色为ANSI标准色

  • 前/背 色

  • 30/40 黑

  • 31/41 红

  • 32/42 绿

  • 33/43 黄

  • 34/44 蓝

  • 35/45 紫

  • 36/46 青

  • 37/47 白

模式中设置字符的特殊属性, 常用的有

  • 0 恢复默认

  • 1 高亮

  • 4 下划线

  • 5 闪烁

  • 7 反显

  • 8 消隐

例:

echo -e “e[41;37m 红底白字 e[0m”

echo -e “e[37;41;1m 红底白字+高亮 e[0m”

测试代码

  1. echo

  2. T='RGB'

  3. echo " BF" {30..37}m" "

  4. for BACK in {40..47}; do

  5.    echo -en "  $BACK"

  6.    for FORE in {30..37}m; do

  7.        echo -en "\e[$BACK;$FORE $T \e[0m"

  8.    done

  9.    echo

  10. done

  11. echo


  12. for MODE in 1 4 5 7 8; do

  13.    echo " B\F" {30..37}";${MODE}m "

  14.    for BACK in {40..47}; do

  15.        echo -en "  $BACK"

  16.        for FORE in {30..37}";${MODE}m"; do

  17.            echo -en "\e[$BACK;$FORE  $T  \e[0m"

  18.        done

  19.        echo

  20.    done

  21.    echo

  22. done


  23. echo "F\B" {40..47}m" "

  24. for FORE in {30..37}; do

  25.    echo -en " $FORE"

  26.    for BACK in {40..47}m; do

  27.        echo -en "\e[$FORE;$BACK $T \e[0m"

  28.    done

  29.    echo

  30. done

  31. echo


  32. for MODE in 1 4 5 7 8; do

  33.    echo "F\B" {40..47}";${MODE}m "

  34.    for FORE in {30..37}; do

  35.        echo -en " $FORE"

  36.        for BACK in {40..47}";${MODE}m"; do

  37.            echo -en "\e[$FORE;$BACK  $T  e[0m"

  38.        done

  39.        echo

  40.    done

  41.    echo

  42. done

输出


注意

  1. 利用echo设置输出颜色与模式后, 命令行中所有的输出都会以设置的格式输出, 除非再利用echo设置为默认格式.

  2. 由于所用数字不重复, 背景, 前景, 模式三个数字顺序无关紧要, 可以任意顺序指定.



https://blog.sciencenet.cn/blog-548663-778137.html

上一篇:样条函数插值拟合
下一篇:利用sort与uniq过滤文件
收藏 IP: 130.184.197.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-1 15:14

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部