专栏首页杨建荣的学习笔记shell中echo的显示格式 (r5笔记第58天)

shell中echo的显示格式 (r5笔记第58天)

有时候使用shell就是为了达到简化工作的目的,其实在shell本身强大的功能下,其实还可以更好一些,功能再好,如果界面有时候不够美观,清晰,效果也会受到直接影响,这种情况再程序员中尤为普遍,很多开发人员能够快速实现业务数据的处理展现,但是在美观上总是差一些,可能很酷的功能有时候就会因为界面的太简单,死板而大打折扣。 我先来一段shell中只使用echo打印出的丰富画面。

彩色字体是一个亮点,对于shell中对字体添加颜色早有耳闻,也自己尝试过,效果还不错,如果客户端的显示配置不兼容,可能字体就不会是彩色的了。 看看这么一个看似简单的案例用shell是怎么写的。 echo -e " \E(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk\E(B \E(0x\E(B \033[32m\E(0\`\E(B CONNECT TOOL \E(0\`\E(B\033[0m \E(0x\E(B \E(0x\E(B \033[33mComposer : xxxxxxxxxxxx\033[0m \E(0x\E(B \E(0x\E(B \033[31m\E(0\`\E(B Description :\033[0m \E(0x\E(B \E(0x\E(B \033[36mThis is fast environment connect, Allows you connect to any\033[0m \E(0x\E(B \E(0x\E(B \033[36menvironment enlisted in ensight DB. \033[0m \E(0x\E(B \E(0x\E(B \033[33mFor more information you may drop mail to : \033[35m\033[4mxxxxxx@xxxxxx.com\033[0m \E(0x\E(B \E(0mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj\E(B" 这看起来有点晕,其实除了字体的颜色之外,个人对于画制的表格更感兴趣。可以看到这个和自己用字符拼出来的效果还是不太一样的。感觉更加紧凑。 如果客户端的很多属性不配置。这部分的功能还是会保留。比如下面这样,可以看到表格的效果还是没有打折扣。

反复测试就会发现。关键的部分就是4个角的实现了。 左上角的实现就是使用 echo -e "\E(0l\E(B" 来实现的 其实最核心的就是那个l,如果是右上角的实现,就是echo -e "\E(0k\E(B", 关键就是那个k 可以发现和vi中有些类似,其实就是这么回事,左下角就是echo -e "\E(0m\E(B" 右下角就是 echo -e "\E(0j\E(B" 对于水平线是用q来表示的。 至于彩色字体的实现还是有不必要提一下的。在本地所做的实验如下。参考了http://onlyzq.blog.51cto.com/1228/546459 提供的命令。

使用的命令如下: 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"

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:r5笔记第58天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-06-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用Python对2019年二手房价格进行数据分析

    最近和朋友聊到买房问题,所以对某二手房价格信息进行了爬取,爬虫见本公众号另一篇文章。

    jeanron100
  • MySQL数据库升级的一些坑

    对于商业数据库而言,数据库升级是一个优先级很高的事情,有版本升级路线图,有相应的补丁,而且对于方案还有一系列的演练,显然是一场硬仗。而在MySQL方向上,升级这...

    jeanron100
  • 让你的运维系统充满“诗意”

    在过年的那些日子,每天中午都会陪着孩子看会《诗词大会》,突然发现这个节目还蛮有意思。一些难以言传的情感或者意境,通过诗词用几个字就能传神的表达出来。

    jeanron100
  • ANSI控制码

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    sofu456
  • shell脚本输出带颜色字体

    yaohong
  • printf不一样的玩法

    DeROy
  • python中print打印显示颜色

    py3study
  • Python终端输出打印彩色字体的方法

    一  实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。    转义序列是以ESC开头,即用\033来完成(ESC的A...

    用户1214487
  • Python:输出带颜色的字

    转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。

    弄啥嘞
  • Shell 字符串操作符实例

    可以使用 sh -v testString.sh 命令来执行如下脚本,查看原始命令及输出内容,为了方便区分命令和内容,其中输出内容以深蓝色显示。

    叨叨软件测试

扫码关注云+社区

领取腾讯云代金券